Ich habe zwei while loops
ist durch ein Chat-Protokoll zu Schleife Datum abzurufen, Benutzername, Nachricht und die anderen while loop
ist Symbole aus einer separaten Tabelle abzurufen dies hat zwei Spalten chars
und image
(Bild -name. *) Ich kann alles aus der table chat
anzeigen, aber kann nicht scheinen, meine zweite while loop
, die die str_replace
enthält, durch jede Zeile in der emo_cons
table
, die Werte enthalten können, zu durchlaufen, es zeigt nur die letzte Zeile in der Tabelle, wenn ich hinzufügen eine neue chars
Wert und image-name.*
es zeigt mir zurück, dass die letzteAnzeigen mehrerer Reihen (WHILE) Symbole
// select all from table emo_cons that contain character values and image location
$emocom = mysqli_query($con,"SELECT * FROM `emo_cons`");
// fetch rows from query
while($emo_row= mysqli_fetch_assoc($emocom))
{
// assign chars row characters that represent the coresponding image
$chars = $emo_row['chars'];
// assign imagetag to row images that represent the coresponding characters
$imagetag = "<img width='50' class=image height='50' src='chaticons/".$emo_row['image']."' />";
echo " ";
echo "<br>";
} // end while emo_car check
$chat_log = mysqli_query($con,"SELECT * FROM chat ORDER BY id DESC");
// fetch all rows that contain characters and image locations
while($chat_row = $chat_log ->fetch_array()){ // i WANT THIS WHILE LOOP TO OUTPUT ALL ROWS THAT CONTAIN CHARS & IMAGES-LOCATIONS
// name of user in chat log
$username = $chat_row['username']; // this line is for usrer
echo "<br>";
// timestamp
echo $chat_row['date'];
echo "<br>"; // line break
//users profiler avatar image from chat_row while
echo "<img width='50' class=image height='50' src='avatars/".$chat_row['imagelocation']."' alt='Profile Pic'>";
echo " "; // space
// THIS LINE ONLY OUTPUTS THE LAST ROW OF AN ICON IN THE TABLE
// I would like my while to output all rows that contain str_replace chars TO imagetag from its table AND HAVE IT THEN PARSE TO THE MESSAGE [msg]
echo $username. " Says ".$new_str = str_replace($chars,$imagetag,$chat_row['msg']);
echo "<br>";
} // end while chat_log
echo '</div>'; // end div
?>
Ich brauche Hilfe zu verstehen, was ich falsch mache Ich habe versucht, meine Schleifen zu bewegen, um zu sehen, ob ich sie falsch strukturiert hatte aber bisher kein Glück Ich möchte nur in der Lage sein, die Chat-Nachricht anzuzeigen und wenn die Nachricht enthält Zeichen, um das durch ein Symbol zu ersetzen und dies immer und NICHT nur für die letzte Zeile in meiner Tabelle tun.
Ich verstehe, dass ich möglicherweise keine Hilfe auf diesem, aber es ist erwähnenswert vielleicht jemand kann meine Fehler sehen. Danke im Voraus .
Vielen Dank 100% Großartig für Ihren Input und Ihr Wissen. Ich werde deine Antwort studieren, damit ich sie vollständig verstehe. Es funktioniert so wie es sollte mit Ihrer Hilfe.Ich habe ein Bild hinzugefügt, um Ihnen die Ergebnisse zu zeigen –
Gern geschehen Bro! Kannst du bitte meine Antwort akzeptieren? –
natürlich, Sie verdienen es –