echo vraag

Status
Niet open voor verdere reacties.

Semafoor

Gebruiker
Lid geworden
29 aug 2007
Berichten
129
hoe kan je uit een mysql database de int(11) codering echo"en"

Code:
   	 Veld   	Type  	Collatie  	Attributen  	Null  	Standaardwaarde  	Extra  	Actie
	 id  	int(11) 	  	  	Nee  	  	auto_increment  	Veranderen 	Verwijderen 	Primaire sleutel 	Index 	Unieke waarde 	Volledige tekst

met $id = htmlspecialchars($rij->id); lukt het me niet...
of doe ik hieronder iets mis..
Code:
 <?
 $sql = "SELECT naam,email,actief,lastactive FROM gebruikers ORDER BY naam ASC";
 $query = mysql_query($sql);
 while($rij = mysql_fetch_object($query)) {
  $id = htmlspecialchars($rij->id);
  $naam = htmlspecialchars($rij->naam);
  $email = htmlspecialchars($rij->email);
  $actief = htmlspecialchars($rij->actief);
  $lastactive = date("Y-m-d H:i:s", strtotime($rij->lastactive));
  if($actief == 0) {
   echo "<tr>\n";
   echo "<td><img border=\"0\" src=\"images/apply.png\" width=\"10\" height=\"10\"></td>\n";
   echo "<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n";
   echo "<td><font color=\"blue\">".$id."</font></td>\n";
   echo "<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n";
   echo "<td><font color=\"gray\">".$naam."</font></td>\n";
   echo "<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n";
   echo "<td><font color=\"gray\">".$email."</font></td>\n";
   echo "<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n";
   echo "<td><font color=\"gray\">".$lastactive."</font></td>\n";
   echo "</tr>\n";
  }else{
   echo "<tr>\n";
   echo "<td><img border=\"0\" src=\"images/apply_f2.png\" width=\"10\" height=\"10\"></td>\n";
   echo "<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n";
   echo "<td><font color=\"blue\">".$id."</font></td>\n";
   echo "<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n";
   echo "<td><font color=\"blue\">".$naam."</font></td>\n";
   echo "<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n";
   echo "<td><font color=\"blue\">".$email."</font></td>\n";
   echo "<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n";
   echo "<td><font color=\"blue\">".$lastactive."</font></td>\n";
   echo "</tr>\n";
  }
 }
 ?>
 
Een INT is een getal, die kun je gewoon zonder er iets aan te doen echoën.

Dat je hem niet krijgt is logisch omdat je hem niet in je query opvraagt
PHP:
 $sql = "SELECT naam,email,actief,lastactive FROM gebruikers ORDER BY naam ASC";
Daar moet je de id dus nog bij voegen.
 
omg..
Was al ruim een half uur aan het blind staren...
Na een tijdje kijk je er gewoon overeen...

Semafoor
 
Hoe kan ik eigenlijk html code uit de mysql database halen?

bijvoorbeeld <br> of <b> of <img scr="afbeelding1.jpg">

Semafoor


EDIT:

Gevonden excuses..

type op medium tekst zetten.. en door middel van bb codes


Code:
$imgmax = 600; // Maximale breedte van een plaatje (in px)

$input = $_POST['bericht'];

$input = htmlentities($input);
$input = nl2br($input);
$input = stripslashes($input);

$input = preg_replace("/\[b\](.*?)\[\/b\]/si", "<b>\\1</b>", $input);
$input = preg_replace("/\[i\](.*?)\[\/i\]/si", "<i>\\1</i>", $input);
$input = preg_replace("/\[u\](.*?)\[\/u\]/si", "<u>\\1</u>", $input);
$input = preg_replace("/\[img\](.*?)\[\/img\]/si", "<img src=\"\\1\" style=\"max-width: ".$imgmax."px ;\" />", $input);
$input = preg_replace("/\[url\](.*?)\[\/url\]/si", "<a href=\"\\1\">\\1</a>", $input);
$input = preg_replace("/\[url=\"?(.*?)\"?\](.*?)\[\/url\]/si", "<a href=\"\\1\">\\2</a>", $input);
$input = preg_replace("/\[color=\"?#?(.*?)\"?\](.*?)\[\/color\]/si", "<span style=\"color: #\\1 ;\">\\2</span>", $input);
$input = preg_replace("/\[code\](.*?)\[\/code\]/si", "<code>\\1</code>", $input);
$input = preg_replace("/\[list\](\<br \/\>)?(.*?)\[\/list\]/si", "<ul>\\2</ul>", $input);
$input = preg_replace("/\[list=1\](.*?)\[\/list\]/si", "<ul style=\"list-style:decimal;\">\\1</ul>", $input);
$input = preg_replace("/\[list=a\](.*?)\[\/list\]/si", "<ul style=\"list-style:lower-alpha;\">\\1</ul>", $input);
$input = preg_replace("/\[\*\](.*?)/si", "<li>\\1", $input);
echo "$input";
 
Laatst bewerkt:
Hangt er van af of je dit als HTML-code wilt verwerken of alleen wilt laten weergeven (Dat je dus <a href="pagina.html"> ziet in plaats van de echte link)

In principe als het als HTML in je database staat en je echoëd dat dan wordt het verwerkt.
Daarmee moet je wel oppassen welke tags je toelaat, het is niet wenselijk dat men Javascript en iframes in je database gaat drukken ;)

Er zijn verschillende functies voor HTML-code om te controleren, bovenstaande zou je "dirty" kunnen filteren met de functie strip_tags(). Daarbij moet je dan wel aangeven welke tags je wel wilt houden anders haalt ie alle HTML weg ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan