Webhilfe.info/board

Normale Version: Problem mit Rangliste
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Jo hab mich mal damit beschäftigt aus einer txt datei die daten auszulesen und dann in eine Tabelle in der Datenbank zu speichern. So konnte ich sie nach bestimmten Sachen ordnen.

Nun wollte ich noch eine kleine Suchfunktion einbauen so das man nach bestimmten Namen suchen kann.
Wenn der Name existiert soll die Zeile mit den Namen und den restlichen Infos über den Namen farbig hinterlegt werden (class=lit).
Allerdings klappt das nicht so wie ich das will habs jetzt erstmal so gelöst aber so werden halt alle zeilen farbig makiert.
Will aber nur das die mit dem gesuchten Namen makiert wird :cry:
Weiß jemand Rat?
Codeabschnitt:
[php:1]
if(isset($_POST['doit']) && !empty($_POST['name'])) {
$search_name=$_POST['name'];
$suchen=mysql_query("SELECT name, rank FROM archive WHERE name = '$search_name' ");
list($name, $rank) = mysql_fetch_array($suchen);
if($name == $search_name) {
echo "Spieler gefunden";
$lit="class='lit'";
} else {
echo "Spieler '$search_name' nicht gefunden";
}
}
$result = mysql_query($sql) OR die('<p><pre>' . $sql . '</pre></p><p>' . mysql_error($link) . '</p>');
while($row = mysql_fetch_assoc($result)) {
echo "
<tr $lit>
<td>".$row['name']."</td>
<td>".$row['ally']."</td>
<td>".$row['villages']."</td>
<td>".$row['points']."</td>
<td>".$row['rank']."</td>
</tr>";
}

echo "</table><p>";[/php:1]

Achja Link zur Page zum Proben:
http://centralscript.ce.funpic.de/dbgt/ranking.php
Wenn ich mir das so anschaue würd ich sagen isses klar das alle so farbig hinterlegt werden. Also bei der ersten MySQL Abfrage schaust du ja ob der $name == $search_name ist, wenn dies der Fall ist, schreibt er class='lit' in die Variable $lit. Wenn der Name nicht gleich ist, passiert mit der Variablen $lit nichts. So nehmen wir an der Name ist gleich also steht in $lit --> class='lit'. Nun hast du weiter unten bei der MySQL-Abfrage in dem <tr Befehl diese Variable drin. Da der Name gleich war, ist die Variable ja gesetzt das heißt jede Zeile wird Farbig hinterlegt. Besser wäre, wenn du in die zweite MySQL-Abfrage noch eine If-Anweisung reinbringst ob der Name der jetzt ausgegeben ist gleich $search_name ist und dann demnach <tr $lit> schreibst.
Hoffe mal das ist ein wenig verständlich.
Unterbrich doch einfach den echo Befehl und Teile ihn in zwei Teile auf, dann eine if Abfrage wie
[php:1]
/*
Erste Teil der Ausgabe
*/
if($row['name']==$_POST['name']){
echo "<td style=\"background-color:#123456;\">".$row['name']."</td>";
}else{
echo "<td>".$row['name']."</td>";
}
/*
Zweite Teil der Ausgabe
*/
[/php:1]
Mad -.-
Was soll ich machen?
Heulen, Lachen?
Man das ist ja so einfach -.-
ich sollte jetzt endlich mal pennen gehen ..

Danke znay,ich steh wohl echt aufn Schlauch.

@Virus:
ja das ist mir klar deswegen hab ichs so geschrieben Wink
[code:1]Allerdings klappt das nicht so wie ich das will habs jetzt erstmal so gelöst aber so werden halt alle zeilen farbig makiert. [/code:1]
so wie ich das sehe bräuchtest du einfach nur alles in die while schleife packen, bevor die ganzen sachen ausgegeben werden.
hm?
passt doch alles.

Atm bin ich dabei die Ränge zu generieren.
Meen Jung, du hast nen Prob gehabt das alle Zeilen farbig ausgegeben werden wenn die gesuchte Person vorhanden ist. Ich habe dir gesagt wie du das machen kannst das nur diese eine Zeile farbig markiert wird und du sagst mir das du es so geschrieben hast. Hab ich da was nicht mitbekommen?

*sich verarscht vorkomm*
Nee^^
ich suchte ne Möglichkeit nur die Zeile mit dem gesuchten Namen zu makieren.
Da ich das nicht hinbekommen hab, hab ich, damit ihr überhaupt wisst was ich depp da genau meinte, das erstmal so gemacht das alle makiert wurden Wink

Und das schrieb ich auch in meinen Beitrag, aber wohl nicht deutlich genug Wink

Atm häng ich an den miesen Rängen die wollen nicht wie ich das will, ich glaub php hasst micht.
So hab ich das doch geschrieben in meinem ersten Beitrag!?! *nimma durchblickt*
Ja.
Das war aber Absicht weil ichs nicht besser konnte und soweit ich das sehe wolltest du mich da auf einen Fehler aufmerksam machen.
Aber ansonsten reden wir voll aneinander vorbei :roll:

Aber ganz nett sich mit dir zu unterhalten^^
Seiten: 1 2
Referenz-URLs