zelle lesen

Erika

Erika

Aktives Mitglied
Thread Starter
Dabei seit
03.01.2004
Beiträge
230
Reaktionspunkte
0
Ich möchte über select * eine dreispaltige tabelle auslesen und dann den inhalt der 3. spalte anhand der id in der 1. spalte auslesen.
wie sprech ich das an?
$row['inhaltvon3.spalte'] von $row['inhaltvon1.spalte']

Erika
 
PHP:
//
// ich verwende eine fiktive DB-Klasse mit den Methoden
// query(string) führt eine SQL-query aus
// fetch_array(void) liefert jeweils eine Ergebniszeile als array
$query="select * from tabelle order by id"
$db->query($query)
unset($ergebnis) // garantiert leeres array 
while($result=$db->fetch_array())
{
 $ergebnis[$result[0]][1]=$result[2];
 $ergebnis[$result[0]][2]=$result[3];
}

// Jetzt hast Du ein array $ergebnis[],
// der Index ist die Spalte 1 aus obiger query und die Werte 2 und 3
// erreichst Du über 
//
// $ergebnis[id][2] 2te Spalte
// $ergebnis[id][3] 3te Spalte der tabelle
 
$pr = "SELECT * FROM tabelle";
$prerg = mysql_query($pr,$db);
unset($stk);
while($psatz = mysql_fetch_array($prerg))
{
$stk[$psatz[0]][1]=$stk[2];
$stk[$psatz[0]][2]=$stk[3];
}

echo = '<br>'.$stk[0001][3];

was mach ich falsch? $stk[0001][3] ist leer.

$db->fetch_array()) führt zum fehler
mit dieser schreibweise habe ich noch nicht gearbeitet.
der fehler läßt vermuten, dass ich hier was grundlegendes nicht weiss.
 
Hallo Erika,
ich hab z.Zt. viel um die Ohren und hab daher in Kurzform geantwortet.
Ich habe ein theoretisches Datenbank-Objekt benutzt ( ich verwende immer DB-Objekte und kenne daher die einzelnen Kommandos von PHP nicht auswendig).

0001 als Zahl gibt es nicht! Das wird 1! Wenn die führenden Nullen wichtig sind, dann verwende ['0001'] oder laufe mit

foreach($stk as $key => $value)
{
}

durch das array!
 
hallo wegus,

hab es dank deines ansatzes gelöst.

so (falls jemand anderes mal sucht):

$stk=array();
while($psatz = mysql_fetch_assoc($prerg)) $stk[$psatz['id']]=$psatz['spaltenname3'];

und dann per stk['id'] den inhalt der zugehörigen zelle in spalte 3 auslesen

erika
 
Zurück
Oben Unten