Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Datenbankfelder auslesen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Datenbankfelder auslesen


 
kaot
18-06-2001, 22:59 
 
also:

ich starte eine datenbank-abfrage bei der ich ein WHERE-kriterium benutze (id = XYZ). jetzt moechte ich variablen belegen und zwar im format "$artikel_datenbankfeld". das heisst, ich habe z.b ein datenbankfeld mit dem namen "headline" -> jetzt soll die variable "$artikel_headline" mit dem wert des db-felds belegt werden.

wichtig dabei:
das script sollte so gestaltet sein, dass bei neu-einfuegung eines db-felds die variable entsprechend belegt wird.

kann mir da jemand helfen? bitte, bitte.

 
pekka
19-06-2001, 00:52 
 
?? nochmal, ich komm nicht ganz mit :-)
(oder liegt das daran dass 12 Uhr nachts ist? Dann sorry.)

 
kaot
19-06-2001, 10:19 
 
nochmal:

ich brauche ein script, das mir beim auslesen eines eintrags der datenbank (deshalb das WHERE-kriterium) automatisch variablen belegt.

1) auslesen der db
2) auslesen der feldnamen (???)
3) belegen der variablen

wenn dann ein neues feld in der db dazu kommt, muss automatisch im script diee variable auch angelegt werden.

moeglicher knackpunkt:
2) ich muss irgendwie rauskriegen, welche feldnamen sich hinter dem * verbergen

loesungsansatz(???):
kann ich irgendwie rauskriegen, was sich hinter $row[1] usw. verbirgt? d.h. dass z.b. $row[3] = $row['FELDNAME']?

ich kann es leider nicht besser formulieren ... sorry, aber bitte bitte versucht mich zu verstehen ;-(

 
Titus
19-06-2001, 11:27 
 
Die Feldnamen in einer Tabelle kannst du folgendermaßen auslesen:

$q = mysql_query ('show fields from TABELLE');
$felder = array ();
if ($q) while ($x=mysql_fetch_array($q))
$felder[] = $x[Field];


Ist aber nicht nötig, wenn du mysql_fetch_array benutzt:

$q = mysql_query ('select * from TABELLE where ID='.$xyz);
$result = array();
if ($q)
{
$x = mysql_fetch_array($q))
for (reset($x); list($key, $val) = each($x); )
${'artikel_'.$key} = $val;
}

Siehe dazu insbesondere den Abschnitt über variable Variablen (http://www.php.net:8000/manual/de/html/language.variables.variable.html) im php-Handbuch.

 
kaot
19-06-2001, 11:43 
 
danke fuer die antwort.

ungefaehr so wie im zweiten beispiel habe ich es in der zwischenzeit auch realisiert.

while (list($key,$value) = each($row)) {
${'artikel_' . $key} = $value;
}

ich wusste vorher nur nichts vom "list"-befehl ... jetzt klappt alles bis auf ein paar andere probleme, aber die gehoeren nicht ins db-forum ...

merci nochmal

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:09 Uhr.