• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

MySQL-Ausgabe: Alle ;-)) durch ein Bild ersetzen

Snyper

New member
Hi zusammen.

Ich hab folgende Abfrage:

<?php

include("login.php");

$x = mysql_connect($host, $benutzer, $passwort);
$q = "SELECT * FROM forum order by id desc limit 100";
$y = mysql_db_query($db, $q, $x);

while( $z = mysql_fetch_row($y) )
{
echo"<table>";
list($id, $name,$nachricht)= $z;


echo"<p align=left><font face=Verdana size=2><b>".$name."</b><br>".$nachricht."<br><br><img border=0 src=line.gif width=560 height=12><br>";

}
echo"<table>";
mysql_close( $x );

?>





Wie kann ich machen, dass alle ;-))) durch ein Bild ersetzt werden?? Oder muss ich das schon beim einschreiben in die database machen??

greets
 
1. öffnest du die tabelle innerhalb der Schleife, das kann bös ins Auge gehen, ausserdem fehlen <tr>& <td> ;).

2. Verstehe ich nicht so ganz, was du mit alle ;-))) ersetzen meinst?
 
wieso ins auge gehen?? was meinst du damit? <td> und </td> hatte ich anfangs, im netscape war aber ein bug, es wurde überhaupt nichts ausgegeben, drum hab ich das geändert.

zu meiner frage. man kennt das ja in gästebüchern oder foren, dass wenn man ";-)" eingibt, die zeichen automatisch in ein smile-bild umgewandelt werden.
wie kann ich das machen?
 
zb mit diesem Befehl:
PHP:
$text = str_replace(":-)" , "<img src='smile.gif'>" , $text);

aber nicht beim speichern in die mysql, sondern erst beim anzeigene angeben. Hat wesentliche Vorteile!

Oder du machst ne ganz gewähnliche eregi Abfrage
 
Zuletzt bearbeitet:
1. der Bug im Netscape ist keiner, es liegt vermutlich daran, daß Dein Skript n-Mal <table> schreibt, aber nur einmal </table>.... und das der Browser da durcheinander kommt ist verständlich... schreibe sauberers HTML und der Browser wird Dich mit korrekter Anzeige belohnen ;)
2. $str = str_replace (";-)", "<img src.........", $str); sollte den gewünschten Effekt haben...

Jetzt war der Wagi wieder schneller :)
 
hab grad was entdeckt:

PHP:
$text = str_replace(":)" , "<img src='smile.gif'>" , $text);
mit
PHP:
$text = str_replace(":)" , "<img src='smile.gif'>" , $text);
ohne [php]

aber nur beim : )
 
Nnun noch eine kurze Erklärung zu html tables:
Bsp:

<table>
<tr>
<td>
</td>
</tr>
</table>

Alles was man öffnet, muss man auch wieder schliessen.

Es fängt an mit <table>, dann eine table Row (zeile beginnen) <tr> und mit <td> die einzelnen Felder benennen und alles wieder schliessen und wieder von vorne. Wichtig ist, das pro zeile die gleiche Anzahl von Feldern in der Tabelle vorhanden ist, sonst geht es ebenfalls schief.

Vielleicht solltest du noch einen tiefen Blick in http://selfhtml.teamone.de werfen ;)
 
Oki, vielen Dank.
Dann muss ich mir das mit den tables mal ansehen.
aber mal angenommen, ich möchte das mit den smiles in die bestehende ausgabe einbinden:

<?php

include("login.php");

$x = mysql_connect($host, $benutzer, $passwort);
$q = "SELECT * FROM forum order by id desc limit 100";
$y = mysql_db_query($db, $q, $x);

while( $z = mysql_fetch_row($y) )
{
echo"<table>";
list($id, $name,$nachricht)= $z;


echo"<p align=left><font face=Verdana size=2><b>".$name."</b><br>".$nachricht."<br><br><img border=0 src=line.gif width=560 height=12><br>";

}
echo"<table>";
mysql_close( $x );

?>




Wo müsste ich diese zeile einfügen, und wie müsste sie aussehen???
 
<?php

include("login.php");

$x = mysql_connect($host, $benutzer, $passwort);
$q = "SELECT * FROM forum order by id desc limit 100";
$y = mysql_db_query($db, $q, $x);
echo"<table>";
while( $z = mysql_fetch_row($y) )
{
echo"<tr><td>";
list($id, $name,$nachricht)= $z;

$nachricht = ("<img src="images/smilies/smile.gif" border="0" alt="">" , ";-)",$nachricht);
echo"<p align=left><font face=Verdana size=2><b>".$name."</b><br>".$nachricht."<br><br><img border=0 src=line.gif width=560 height=12></td></tr>";

}
echo"</table>";
mysql_close( $x );

?>
 
Zuletzt bearbeitet:
HEYYYYYY.

Du bist mein Retter ;-)) Vielen Dank, das läuft jetzt bestens. Auch das mit der Tabelle habe ich geschnallt. Wusste nicht, dass das in den echo-tag gehört.
Und sogar auf dem Netscape läuft das jetzt. Also vielen Dank.
Kannst es dir ja mal anschauen wenn du willst. www.kholmes.de

thx.
 
Zurück
Oben