son gohan
Erfahrenes Mitglied
Datenfeld aus MySQL Tabelle mit PHP if Abfrage vergleichen
Es folgt eine kurze Erklärung zum Script und danach das Problem darunter
.
Erklärung:
Das Script vergleicht mit der mysql_db_query Abfrage zunächst ob Einträge in der Tabelle sind die der Variable &tit ähneln und speichert die Ergebnisse in eine Variable $res.
Danach speichert es mit mysql_num_rows die Anzahl an Datensätze aus der Abfrage in eine Variable $num.
Mit der Variable $num vergleiche ich dann ob Datensätze gefunden wurden, wenn das der Fall ist werden zunächst mit Hilfe der If-Abfrage die Anfangs und Endtags der ul Liste ausgegeben.
Die einzelnen Listenpunkte zu der ul Liste werden wiederum mit Hilfe der for Schleife und anhand der Abfrage Ergebnisse erzeugt.
Alles klar bis hier hin
gut dann kann es ja weiter gehen zu meinem Problem...
Problem:
Die Tabelle hat noch ein Datenfeld mit Namen infoart, dort speichere ich jeweils die Art des Datensatzes, in meinem Fall handelt es sich um Hyperlinks die entweder zu einer Video oder Text Info führen, in die Spalten des Datenfeldes infoart schreibe ich dazu entweder video oder text zur Unterscheidung.
Jetzt habe ich in jedem Listenpunkt aus der for Schleife aber noch ein img Tag wo standardmässig ein gif Bild steht mit dem Namen schrift.gif, für Textinfos gedacht. Wenn es sich aber bei einem Datensatz um eine Video Info handelt, dann will ich das dort ein video.gif ausgegeben wird.
Ich habe auch schon überlegt das man das vielleicht einfach mit einer if-Abfrage lösen könnte. So das immer wenn es sich um einen Datensatz mit der Art video im Datenfeld infoart handelt ein video.gif ausgegeben wird als echo.
Aber ich weis nicht wie ich auf das Datenfeld infoart aus der Tabelle zugreifen kann um so eine if-Abfrage schreiben zu können.
Ich würde nur zu gern wissen wie man das lösen kann.
Es folgt eine kurze Erklärung zum Script und danach das Problem darunter

PHP:
<?php
$res = mysql_db_query("DB007", "SELECT * FROM links WHERE MATCH name AGAINST ('$tit')");
$num = mysql_num_rows($res);
if ($num == 0) { echo ""; } else { echo "<p class=\"frage_1\">Weiterführende Themen</p>
<ul class=\"frage\">"; }
for ($i=0; $i<$num; $i++)
{
$vn = mysql_result($res, $i, "url");
$nn = mysql_result($res, $i, "name");
echo "<li><a href=\"$vn\">$nn <img class=\"wft_bild\" src=\"gif/schrift.gif\" alt=\"$nn\" title=\"$nn\" /></a></li>\n";
}
if ($num == 0) { echo ""; } else { echo "</ul>"; }
mysql_close($db);
?>
Erklärung:
Das Script vergleicht mit der mysql_db_query Abfrage zunächst ob Einträge in der Tabelle sind die der Variable &tit ähneln und speichert die Ergebnisse in eine Variable $res.
Danach speichert es mit mysql_num_rows die Anzahl an Datensätze aus der Abfrage in eine Variable $num.
Mit der Variable $num vergleiche ich dann ob Datensätze gefunden wurden, wenn das der Fall ist werden zunächst mit Hilfe der If-Abfrage die Anfangs und Endtags der ul Liste ausgegeben.
Die einzelnen Listenpunkte zu der ul Liste werden wiederum mit Hilfe der for Schleife und anhand der Abfrage Ergebnisse erzeugt.
Alles klar bis hier hin

Problem:
Die Tabelle hat noch ein Datenfeld mit Namen infoart, dort speichere ich jeweils die Art des Datensatzes, in meinem Fall handelt es sich um Hyperlinks die entweder zu einer Video oder Text Info führen, in die Spalten des Datenfeldes infoart schreibe ich dazu entweder video oder text zur Unterscheidung.
Jetzt habe ich in jedem Listenpunkt aus der for Schleife aber noch ein img Tag wo standardmässig ein gif Bild steht mit dem Namen schrift.gif, für Textinfos gedacht. Wenn es sich aber bei einem Datensatz um eine Video Info handelt, dann will ich das dort ein video.gif ausgegeben wird.
Ich habe auch schon überlegt das man das vielleicht einfach mit einer if-Abfrage lösen könnte. So das immer wenn es sich um einen Datensatz mit der Art video im Datenfeld infoart handelt ein video.gif ausgegeben wird als echo.
Aber ich weis nicht wie ich auf das Datenfeld infoart aus der Tabelle zugreifen kann um so eine if-Abfrage schreiben zu können.
Ich würde nur zu gern wissen wie man das lösen kann.
Zuletzt bearbeitet: