 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
18.03.2005, 14:31
|
#1
|
|
TP-Senior
Registriert seit: Nov 2004
|
Daten aus DB in assoz. Array einlesen...
Hallo,
ich möchten die Daten die ich aus ner DB hole in ein (assoz.) array packen, um später außerhalb der "while ($row = mysql_fetch_assoc($sql))"-Abfrage drauf zugreifen zu können.
Ich möchte immer einen zusammengehörigen Satz mit einem anderen zusammengehörigen weiterverarbeiten.
Aber irgendwie krieg ich das nicht hin. In meinem Codebeispiel wird überhaupt immer nur der letzte Datensatz im Array gespeichert.
Muss das ein zweidimensionales Array sein, so a la $adressen[0]["vorname"],$adressen[1]["vorname"]?
Irgendwie ist da noch ein Denkfehler drin...
Grübel, Jackie
PHP-Code:
<?php
$verbindung = @mysql_connect("localhost","root","") or die ("Could not connect");
@mysql_select_db("test") or die ("Database not found");
$sql = mysql_query("SELECT * FROM adressen");
while ($row = mysql_fetch_assoc($sql)) {
$adressen = array("vorname"=>$row["vorname"],"nachname"=>$row["nachname"],"ort"=>$row["ort"]);
}
print_r($adressen, true);
echo "Das ist ".$adressen["vorname"]."<br>";
echo "Sie wohnt in ".$adressen["ort"]."<br>";
print_r($adressen);
//ausgabe: Array ( [vorname] => Gudrun [nachname] => Meier [ort] => Hamburg )
?>
|
|
|
18.03.2005, 14:56
|
#2
|
|
TP-Insider
Registriert seit: Dec 2003
Ort: nienburg (raum hannover)
|
was soll denn am ende rauskommen?
Zitat:
|
In meinem Codebeispiel wird überhaupt immer nur der letzte Datensatz im Array gespeichert.
|
das liegt daran, dass du in der while-schleife $adressen praktisch immer wieder ueberschreibst - du willst aber ein neues array-element hinzufuegen.
PHP-Code:
$adressen[] = array("vorname"=>$row["vorname"],"nachname"=>$row["nachname"],"ort"=>$row["ort"]);
die [] von $adressen[] fuegen dem array $adressen ein neues element ([]) hinzu
edit:
und ja, dabei kommt genau das zweidimensionale array aus, das du beschreiben hast
__________________
in eile kam er,
in schwarzem gewand,
aus den tiefen des waldes,
ein einsamer mann, ein geschoepf der freiheit,
ein geschoepf ohne furcht,
doch alle nannten sie ihn nur T O D
Geändert von HoRnominatoR (18.03.2005 um 14:58 Uhr).
|
|
|
18.03.2005, 15:27
|
#3
|
|
TP-Senior
Registriert seit: Nov 2004
|
vielen dank, das hat schon mal sehr geholfen!
ich brauch das vorallem, um zu jeder zeit mit den "gefundenen" datensätzen operieren zu können.
Bisher hab ich das Zeug immer nur als Tabelle ausgegeben mit besagter mysql_fetch_assoc($sql) Abfrage. Außerhalb der whileschleife bin ich an $row["vorname"] z.B. nicht mehr rangekommen.
Gruß Jackie
|
|
|
18.03.2005, 19:10
|
#4
|
|
TP-Veteran
Registriert seit: Mar 2005
Ort: Weyhe
|
Ich arbeite nur noch mit
PHP-Code:
$row = mysql_fetch_object($sql));
...
foreach ( $array AS $data )
{
echo $data->name;
}
Das hat den Vorteil, dass Du per Objekt und foreach auch unbekannte Strukturen bearbeiten kannst. Dann habe ich mir noch eine Funktion gebastelt, die aus einem Objekt den entsprechenden MySQL-Query zum Eintragen bastelt und seitdem habe ich mich nicht mehr mit fehlenden Hochkommas oder vergessenen Kommas im SQL-Statement rumgeärgert.
Die Fehlersuche in meinen Statements hat meistens länger gedauert als das Neutippen. :-)
|
|
|
18.03.2005, 19:48
|
#5
|
|
TP-Insider
Registriert seit: Dec 2003
Ort: nienburg (raum hannover)
|
du kannst auch mit einem mehrdimensionalen array und foreach arbeiten - von der struktur her ist es egal, sieht man zB wenn man sich beides via print_r() ausgeben laesst. und ich nehme an, dass du aus der DB keine methoden erschaffst. von daher hoechstens ratsam, wenn man sich OOP aufzwaengen will, aber sicher nicht, um strukturiertes denken zu lernen.
__________________
in eile kam er,
in schwarzem gewand,
aus den tiefen des waldes,
ein einsamer mann, ein geschoepf der freiheit,
ein geschoepf ohne furcht,
doch alle nannten sie ihn nur T O D
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 14:49 Uhr.
|
 |