Zum Inhalt springen

Zugriff auf Elemente einer DB-Abfrage (PHP/MySQL)


Empfohlene Beiträge

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-

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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]

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...