Mailinglisten-Archive |
Moin Andre Domaschhke, moin Liste AD> Bis hier hin lief bereits alles. Da es sich bei meinem Vorhaben AD> um eine Begriffserklärung handelt, benötige ich jetzt noch den AD> Link, den ich mit der ID aus der sql DB realisieren will. AD> d.h. ich muss in den Elementen auch noch ein zusätzliches Array AD> reinstecken wo die ID enthalten ist. Diese muss ich aber im Link AD> auch wieder einzeln ansprechen können. Vielleicht habe ich Deine Problemstellung falsch verstanden, aber ich glaube, Du machst es Dir zu kompliziert. AD> while ($download = mysql_fetch_array($download2)) AD> { AD> $abc[] = $download ['begriff']; AD> } Warum baust Du das Array abc[] so auf? Du erzeugst bekommst von fetch_array ein Array download[] mit x Elementen (x Anzahl der Spalten in der Tabelle $tb_glossar). Daraus nimmst Du Dir das aktuelle Element "begriff" und baust damit ein neues Array mit einer Spalte und n Zeilen auf (n für Anzahl Suchergebnisse). Du willst aber mehr als eine Spalte - also vergiss doch einfach das zweite Array abc[] und verwende gleich das erste, bereits vollständige. Du mußt nur noch dafür sorgen, daß in jedem Durchlauf das Ergebnis in eine neue Zeile des Array kommt: while ($download[] = mysql_fetch_array($download2)) { } oder etwas nachvollziehbarer: $x=0; while ($download[$x] = mysql_fetch_array($download2)) { $x++; } Nun hast Du das Ergebnis Deiner Datenbankabfrage vollständig in dem Array download[][] abgebildet - in der Hoffnung es möge nicht allzu groß werden... Deinen Begriff aus der ersten Ergebniszeile bekommst Du mittels $download[0]["begriff"], die dazugehörige ID mit $download[0]["id"]. Da im letzten Beispiel ein Zähler mitläuft, hat $x nach Durchlauf der Schleife sogar den Index des letzten Elementes, $download[$x]["begriff"] läßt Dich also sogar gleich auf das letzte Element zugreifen. AD> Nun mein Versuch mit einem zweidimensionalen Array AD> (glaube ich zumindest das dies eins ist) [...] AD> while ($download = mysql_fetch_array($download2)) AD> { AD> $abc[0] = $download ['begriff']; AD> $abc[1] = $download ['id']; AD> } Nein, denn wo ist Deine zweite Dimension? Hier weist Du in jedem Durchlauf dem ersten und zweiten Element Deines (eindimensionalen) Array einen anderen Wert zu - und überschreibst dabei den vorherigen. Hoffe es hilft zum Verständnis, ansonsten erstmal drüber schlafen, wirkt manchmal wunder. PS: Du könntest Dir das Leben auch sehr viel einfacher machen, wenn Du dafür sorgst, daß aus der SQL-Query gleich nur das erste und letzte Element herauskommt - aber das ist eine andere Geschichte... -- Stefan Schwardt.
php::bar PHP Wiki - Listenarchive