[PHP] per Abfrage die Schriftfarbe verändern?

btw:

ich hab bei mir stehen:

PHP:
WHILE ($row=mysql_fetch_object($result))...
kann mir jend den unterschied zu diesem erklären?:
PHP:
WHILE ($row=mysql_fetch_array($result,MYSQL_ASSOC))...
 
Zuletzt bearbeitet:
mysql_fetch_object() und mysql_fetch_array() liefert jeweils einen Datensatz einer Ergebniskennung zurück, wobei die Rückgabetyp entweder ein Feld bzw. ein Objekt ist.

Übrigens sind die von dir beschriebenen Beispiele falsch, da entweder weder mysql_fetch_object() noch mysql_fetch_array() Variablen sind, worauf die Dollarzeichen hinweisen würden.

Versuch einfach mal mein Beispiel.
 
ähm, ja warn tippfehler, hab ich schon behoben *peinlich ist*

mit deiner variante kommen keine Ergebnisse raus, frag nicht warum, ich habe nur den Text eingesetzt, nehme ich ihn heraus, gibt es Erbenisse!

wobei das ja Quatsch wäre, es geht doch hier NUR um eine Farbe, und nicht um Inhalte!
 
Zuletzt bearbeitet:
Gibt es denn eine Fehlermeldung? Hast du die Spalten bzw. Ausdrücke im SELECT-Ausdruck korrekt aneinander gereiht?
 
es gibt keine fehlermeldung.
durch echo habe ich herausgefunden, dass auch alles richtig abläuft, aber es kommen keine ergebnisse zustande. lösche ich den veränderten text, sind alle ergebnisse vollzählig wieder da!
es ist, als würde ihn das kein bisschen interessieren, was da steht. :(
 
zeig uns doch bitte einmal dein Abfragekonstrukt, vielleicht hat sich dort irgendwo ein Fehler eingeschlichen.
 
also, hier mein gesamter Quelltext, abgesehen vom Login.
ich habe keine Zeilenumbrüche genutzt (extra, falls dadurch ein Fehler entstehen sollte.)
Ich müsst auch nur einmal scrollen, denn der Ausgabeteil ist unten.

PHP:
<?php
$suchen=($_POST['suchen']);
$erg_wort=($_POST['name']);
$sort=($_POST['ordnen']);
$sql="";
$result="";
if ($erg_wort!=""){
echo"<p>Treffer mit dem Schlagwort <b>",
($erg_wort), "</b></p>\n";
$sql="SELECT id,name,original_name,jahr,version,bild,cat,info,actors,fsk,quelle,kommentar FROM dvd_uebersicht ".
 "WHERE $suchen LIKE'%" . ($erg_wort) . "%' " .
"ORDER BY $sort";
}
//echo $sql;
$result=mysql_query($sql);
?>
<html><body><title>
<?php
if(!$result or !mysql_num_rows($result))
echo "Keine Ergebnisse</title></head><body link=blue vlink=blue alink=blue bgcolor=#CCCCCC><p>Keine Ergebnisse vorhanden</p>";
else {
echo mysql_num_rows($result)," Ergebnisse:</title></head><body link=blue vlink=blue alink=blue bgcolor=#CCCCCC>Es wurden <b>",mysql_num_rows($result),"</b> Titel mit ähnlichem oder gleichem Suchkriterium gefunden:<br>
<hr/><table border=0 cellpadding=3 bgcolor=#CCCCCC><tr><td><b><u>Bild</u></b></td><td><b><u>Name</u></b> / <i>Original Name</i></td><td><b><u>Jahr</u></b></td><td><b><u>Version</u></b></td><td><b><u>FSK</u></b></td><td><b><u>Kathegorie</u></b></td><td><b><u>Info</u></b></td><tr>\n";
while ($row=mysql_fetch_object($result)){
echo "<td><a href=bilder/",$row->bild,".jpg><img src=bilder/",$row->bild,".jpg width=110 heigth=158 border=0></a></td><td><b><font color=red size=4>",$row->name,"</font></b><br><br><i>",$row->original_name,"</i></td><td>",$row->jahr,"</td><td>",$row->version,"</td><td><img src=bilder/",$row->fsk,".jpg border=0></td><td>",$row->cat,"</td><td>",$row->kommentar,"</td></tr>
<tr><td colspan=8>",$row->info,"<br><i>Quelle: <a href=http://www.",$row->quelle,".de target=_blank>",$row->quelle,"</a></i></td></tr>
<tr><td colspan=8><b>Schauspieler:</b> ",$row->actors,"<hr size=5><br></td></tr>\n";
}
echo"</tr></table><br><br><a href=suche.php>zurück<a>";
}
?>

Momentan habe ich ein Bild an dieser Stelle eingefügt:
PHP:
<td><img src=bilder/",$row->fsk,".jpg border=0></td>
Statt desses soll dort aber je nach dem, welche Zahl im feld steht, die richtige Farbe eingesetzt werden.

So, der Vorschlag von Gumbo wäre an dieser Stelle einzusetzen.
PHP:
$sql="SELECT id,name,original_name,jahr,version,bild,cat,info,actors,fsk,quelle,kommentar, CASE `fsk` 
                  WHEN  0 THEN 'black' 
                  WHEN  6 THEN 'lightgreen' 
                  WHEN 12 THEN 'darkgreen' 
                  WHEN 14 THEN 'yellow' 
                  WHEN 16 THEN 'orange' 
                  WHEN 18 THEN 'red' 
                END AS `fsk_darstellungsfarbe`
FROM dvd_uebersicht ".
 "WHERE $suchen LIKE'%" . ($erg_wort) . "%' " .
"ORDER BY $sort";

[-]

while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) { 
        […] 
        echo '<td><span style="color:'.$row['fsk_darstellungsfarbe'].">'.$row['fsk'].'</span></td>'; 
        […]
es tut sich nur leider nichts...
 
kurz noch was nebenbei.
es kann passieren, dass ich als Erbenis über 500 Ds bekomme und dann würde die Seite arg lang werden.
Ich hab hier im Forum schon gesucht, aber ich hab nichts zum Thema Seitenumbruch gefunden (NUR im Tut zum Gästebuch über mehrere Seiten). Also, dass alle 20 Ds eine neue Seite kommt und unten und/oder oben eine Auflistung der Seiten mit links auf die Seiten zu sehen ist.
Ist momentan nebensächlich das andere Problem interessiert mich mehr. Wer dazu ne Lösung hat, bitte PM.
 
PHP:
<?php
	$suchen = $_POST['suchen'];
	$erg_wort = $_POST['name'];
	$sort = $_POST['ordnen'];

	if( $erg_wort != "" ) {
		echo "<p>Treffer mit dem Schlagwort <b>", $erg_wort, "</b></p>\n";
	$query = "
		SELECT
		        `id`,
		        `name`,
		        `original_name`,
		        `jahr`,
		        `version`,
		        `bild`,
		        `cat`,
		        `info`,
		        `actors`,
		        `fsk`,
		        `quelle`,
		        `kommentar`,
		        CASE `fsk`
		          WHEN  0 THEN 'black'
		          WHEN  6 THEN 'lightgreen'
		          WHEN 12 THEN 'darkgreen'
		          WHEN 14 THEN 'yellow'
		          WHEN 16 THEN 'orange'
		          WHEN 18 THEN 'red'
		        END AS `fsk_darstellungsfarbe`

		  FROM
		        `dvd_uebersicht`

		  WHERE
		        ".$suchen." LIKE '%".$wort."%'

		  ORDER BY
		        ".$sort."
	";
	$result = mysql_query($query);
?>
<html><body><title>
<?php
	if(!$result or !mysql_num_rows($result)) {
		echo "Keine Ergebnisse</title></head><body link=blue vlink=blue alink=blue bgcolor=#CCCCCC><p>Keine Ergebnisse vorhanden</p>";
	} else {
		echo mysql_num_rows($result)," Ergebnisse:</title></head><body link=blue vlink=blue alink=blue bgcolor=#CCCCCC>Es wurden <b>",mysql_num_rows($result),"</b> Titel mit ähnlichem oder gleichem Suchkriterium gefunden:<br>
<hr/><table border=0 cellpadding=3 bgcolor=#CCCCCC><tr><td><b><u>Bild</u></b></td><td><b><u>Name</u></b> / <i>Original Name</i></td><td><b><u>Jahr</u></b></td><td><b><u>Version</u></b></td><td><b><u>FSK</u></b></td><td><b><u>Kathegorie</u></b></td><td><b><u>Info</u></b></td><tr>\n";
		while( $row = mysql_fetch_object($result) ) {
			echo "<td><a href=bilder/",$row->bild,".jpg><img src=bilder/",$row->bild,".jpg width=110 heigth=158 border=0></a></td><td><b><font color=red size=4>",$row->name,"</font></b><br><br><i>",$row->original_name,"</i></td><td>",$row->jahr,"</td><td>",$row->version,"</td><td><img src=bilder/",$row->fsk,".jpg border=0></td><td>",$row->cat,"</td><td>",$row->kommentar,"</td></tr>
<tr><td colspan=8>",$row->info,"<br><i>Quelle: <a href=http://www.",$row->quelle,".de target=_blank>",$row->quelle,"</a></i></td></tr>
<tr><td colspan=8><b>Schauspieler:</b> ",$row->actors,"<hr size=5><br></td></tr>\n";
		}
		echo "</tr></table><br><br><a href=suche.php>zurück<a>";
	}
?>
 
Zurück