Veröffentlicht 12. November 200321 j Hallo, ich habe eine PHP-Seite, die ganz normal auf eine MySQL-Datenbank zugreift. Zum Beispiel so: $query = "SELECT feld1, feld2 FROM abc. Ich würde nun gerne mit den Feldinhalten von Feld1, Feld2 etc weiterarbeiten bzw. verschiedene Bedingungen abprüfen. Kann mir jemand sagen, wie das geht? Das wäre super Danke im Voraus Gruß -etops-
12. November 200321 j hi, ist eigentlich ganz easy <?php mysql_connect("hostname", "user", "password"); mysql_select_db($db); $result = mysql_query("select feld1,feld2 from table"); while ($row = mysql_fetch_object($result)) { echo $row->feld1; echo $row->feld2; } mysql_free_result($result); ?> mit $row->dein spaltenname greifst du auf die felder zu, allerdings nur- wenn du mit fetch_object arbeitest. mit fetch_array o. fetch_row sollte es aber ähnlich sein, nur die schreibweise ändert sich
19. November 200321 j Ok - vielen Dank, jetzt funktioniert zumindest das schon mal. Ich habe nun aber eine weitere Frage: Mittels if-Abfrage möchte ich auf die Attribute einzelner Zeilen zugreifen bzw. diese nur dann anzeigen, wenn eine bestimmte Bedingung erfüllt ist. Das müßte doch irgendwie so gehen: ... if ($zeile["Wert1"] = 0) { nix tun // Frage: Wenn ich will, daß hier nix getan wird, laß ich doch besser diese Abfrage weg, oder?? } elseif ($zeile["Wert1"] <> 0 and <>93 { was anderes tun } ... [/PHP] Aber irgendwas mach ich wohl falsch, denn es geht nicht. Wäre super, wenn jemand wüßte, wo ich festklemme Danke+Gruß etops
19. November 200321 j mach doch einfach so ... if ($zeile["Wert1"] != 0 && $zeile["Wert1"] != 93 { was anderes tun } ... [/PHP]
19. November 200321 j Original geschrieben von etops if ($zeile["Wert1"] = 0) so weist du $zeile["Wert1"] den Wert 0 zu. if ($zeile["Wert"] ==0) so wärs richtig.
19. November 200321 j ... if ($zeile["Wert1"] = 0) { nix tun // Frage: Wenn ich will, daß hier nix getan wird, laß ich doch besser diese Abfrage weg, oder?? } elseif ($zeile["Wert1"] <> 0 and <>93 // so ist es richtig:elseif ($zeile["Wert1"] <> 0 and $zeile["Wert1"]<>93) { was anderes tun } ... [/PHP]
20. November 200321 j Danke, auch das funktioniert nun. Habe aber schon die nächste Frage: if ($zeile["index"] == 1 && ($zeile["Feld1"] == 93 || $zeile["Feld2"] == 93 || $zeile["Feld3"] == 93)) { // ... eine neue Tabellen-Zeile beginnen ... echo "\n<tr>"; // ... Attribute einzeln pro Zeile ausgeben ... echo "\n\t<td>{$i["index"]}</td>"; ... // verschiedene Werte ... // verschiedene Werte echo "\n\t<td>{$i["Feld1"]}</td>"; echo "\n\t<td>{$i["Feld2"]}</td>"; echo "\n\t<td>{$i["Feld3"]}</td>"; ... // verschiedene Werte // Jetzt Zeile beenden echo "\n</tr>"; } [/PHP] Warum bekomme ich die Zeileninhalte nicht angezeigt? Zur Erklärung: ich möchte den Tabellendurchlauf in der Zeile beginnen, bei der das Feld Index auf 1 steht. Angezeigt werden sollen nur diejenigen Tabellenzeilen, bei denen die Bedingung "entweder Feld1 = 93 oder Feld2 = 93 oder Feld3 = 93" erfüllt ist. Wer kann helfen? Danke schon mal, Gruß etops
20. November 200321 j Ich hatte da eben einen Code-Schnipsel vergessen: Unten dran folgt noch else { $zeile["index_flt"] += 1; } [/PHP]
20. November 200321 j mach so: if ($zeile["index"] == 1 && ($zeile["Feld1"] == 93 || $zeile["Feld2"] == 93 || $zeile["Feld3"] == 93)) { // ... eine neue Tabellen-Zeile beginnen ... echo "\n<tr>"; // ... Attribute einzeln pro Zeile ausgeben ... echo "\n\t<td>". $i["index"] ."</td>"; ... // verschiedene Werte ... // verschiedene Werte echo "\n\t<td>". $i["Feld1"] ."</td>"; echo "\n\t<td>". $i["Feld2"] ."</td>"; echo "\n\t<td>". $i["Feld3"] ."</td>"; ... // verschiedene Werte // Jetzt Zeile beenden echo "\n</tr>"; } [/PHP]
20. November 200321 j ein tipp hätte ich noch: wenn du lieber php von html trennen willst, dann guck dir mal http://smarty.php.net an... wenn du auch noch objekt-orientiert arbeiten willst (was mit php ja auch geht), sowie einfach mit Datenbank-Zugriffen arbeiten willst, dann guck dir http://pear.php.net an... die haben imho ne gute Datenbank-API. Da kannst du dann deine Datenbanken in form von "mysql://user:passwort@server/datenbank" ansprechen und Daten einlesen und so. mit Smarty kannst du dann die Tabellen ausgeben. Gruss DevNiv
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.