> Tous les forumsForum des Webmasters

 Pb affichage base de donnée [ RESOLU ]
Statut du sujet : NON RESOLU Imprimer
 Didou91
  Posté le 25/10/2004 @ 17:45  
 Petit astucien

41 Messages
Bonjour, J'ai un petit probleme avec ma base de donnée mysql. la base fonctionne bien mais le soucis est sur l'affichage. En fait c'est un pote qui a creer la base (c'est un livre d'or), mais la partie "message" est en "tinytext" (donc limitée a 255 caracteres). Etant novice, j'ai consulté un peu partout sur le web mais je suis perdu.. j'ai modifié "tinytext" par "text" et meme par "longtext". maintenant je peux rentrer plus de caracteres mais le probleme c'est que l'affichage ne se fait pas bien (il n'y a pas de retour auto a la ligne et donc le cadre qui affiche le message s'etend en longueur). c'est dur d'expliquer... j'espere que vous comprendrez le probleme... ma question est donc: Comment faire pour que le texte s'affiche dans un cadre qui s'aggrandit (en vertical et non en horizontal)en fonction de la longueur du texte. (comme dans un forum par exemple)? la modif se situe où ? dans la config de la base ou dans le fichier php ? Merci d'avance pour votre aide.
 Afficher le profil de Didou91Envoyer un message privé à Didou91
 
 
Publicité
 nono21  Posté le 25/10/2004 à 21:55  
Petit astucien

162 Messages
Bonsoir, Il faut remplacer les sauts de ligne dans le texte par des balises <br /> qui produiront à l'affichage le saut de ligne En php avec une expression régulière, si ton texte est dans la variable $message, ça donne : $message=ereg_replace("\r?\n","<br />",$ai[message]); voila, j'espère que c'est ça que tu cherches & que ça te sera utile
Afficher le profil de nono21
 Revenir en haut de la page
 Didou91  Posté le 25/10/2004 à 23:20  
Petit astucien

41 Messages
Merci Nono21 pour ta reponse. En fait, j'ai essayé ta manip mais elle marche pas pour mon probleme. J'ai testé pleins de trucs trouvés ici et la sur le web, et maintenant j'arrive a ajouter un commentaire de plus de 255 caracteres dans mon livre d'or. Par contre il me reste un petit souci... les retours a la ligne ne marche toujours pas. par exemple si je tape ce message dans mon livre d'or il s'affichera comme ca: Merci Nono21 pour ta reponse. En fait, j'ai essayé ta manip mais elle marche pas pour mon probleme. J'ai testé pleins de trucs trouvés ici et la sur le web, et maintenant j'arrive a ajouter un commentaire de plus de 255 caracteres dans mon livre d'or. Par contre il me reste un petit souci... les retours a la ligne ne marche toujours pas. Bien sur je souhaiterai qu'il s'affiche comme il est tapé et non pas "a la suite" comme c'est le cas... si vous avez des idées.... Merci.
Afficher le profil de Didou91Envoyer un message privé à Didou91
 Revenir en haut de la page
 Didou91  Posté le 25/10/2004 à 23:27  
Petit astucien

41 Messages
Je rajoute ceci.... ca peut aider... <? require("config.inc.php3"); if($topic=='form') { echo "<center><font face=\"$face\" color=\"$color\" size=\"2\"><b>Ajouter votre message au Livre d'or</b></font></center><br>"; echo "<form method=\"POST\" action=\"$index"."$signe"."topic=poster\">\n"; echo "<input type=\"hidden\" name=\"topic\" value=\"poster\">\n"; echo "<center><input type=\"\" name=\"nom\" size=\"30\" value=\"votre nom\"></center><br>\n"; echo "<center><textarea name=\"message\" rows=\"12\" cols=\"36\" wrap=\"virtual\">Ecrivez votre message ici</textarea></center>\n"; echo "<center><input type=\"submit\" name=\"submit\" value=\"Ajouter le message ...\"></center>\n\n"; echo "</form>"; echo "<center><font face=\"$face\" color=\"$color\" size=\"2\"><b><a href=\"$index\"><< Retour au Livre d'or</a></b></font></center>\n"; echo "<hr size=1 width=\"310\">\n"; } elseif($topic=='poster') { if(empty($nom) OR empty($message) OR $nom=='votre nom' OR $message=='Ecrivez votre message ici') { echo "<center><font face=\"$face\" color=\"$col_alert\" size=\"2\"><b>Champs incomplets!</b></center><br>\n"; echo "<center><a href=\"Javascript:history.back()\"><< Retourner au formulaire</a></font></center>\n"; } else { $db = mysql_connect("$host", "$login", "$password"); mysql_select_db("$base",$db); $date = date("d-m-Y"); $heure = date("H\hi"); $message = addslashes($message); $nom = addslashes($nom); mysql_query("INSERT INTO livre_tbl VALUES('','$nom','$message','$date','$heure')"); mysql_close(); Header("Location: $index"); } } else { $db = mysql_connect("$host", "$login", "$password"); mysql_select_db("$base",$db); if($limit==''){ $limit = 0; } $count_req = mysql_query("SELECT id FROM livre_tbl"); $count = mysql_numrows($count_req); $comptage_req = mysql_query("SELECT * FROM livre_tbl ORDER BY id DESC LIMIT $limit, 10"); $comptage = mysql_numrows($comptage_req); echo "<center><font face=\"$face\" color=\"$color\" size=\"2\"><b>$count messages | "; echo "<a href=\"$index"."$signe"."topic=form\">Ajouter un message</a> | "; echo "<hr size=1 width=\"$width\">\n"; $i=0; WHILE($i!=$comptage) { $nom = mysql_result($comptage_req,$i,"nom"); $message = mysql_result($comptage_req,$i,"message"); $date = mysql_result($comptage_req,$i,"date"); $heure = mysql_result($comptage_req,$i,"heure"); $message = stripslashes(stripslashes($message)); $nom = stripslashes(stripslashes($nom)); echo "<center><div align=\"center\">\n"; echo "<table width=\"$width\" bgcolor=\"$bgcolor\">\n"; echo "<tr><td bgcolor=\"$bgtitre\"><font face=\"$potitre\" color=\"$cotitre\" size=2> <b>$nom</b></font> <font face=\"verdana\" size=\"1\">($date à $heure)</font></td></tr>\n"; echo "<tr><td><font face=\"$pomessa\" color=\"$comessa\" size=2><blockquote>$message</font></td></tr>\n"; echo "</table></div></center><br>\n\n"; $i++; } $pages = $count / 10; $pages = floor($pages); if($count>10) { $footer = "Pages: <a href=\"$index"."$signe"."limit=0\"><b>index</b></a>\n"; if($count==40){ $i = 1; }else{ $i = 0; } $comptage = 10; $page_num = 2; WHILE($i!=$pages) { if($limit==$comptage) { $footer .= " | <b>$page_num</b>\n"; $comptage += 10; $page_num++; $i++; } else { $footer .= " | <a href=\"$index"."$signe"."limit=$comptage\"><b>$page_num</b></a>\n"; $comptage += 10; $page_num++; $i++; } } } $reste = $count - $limit - 10; $reste_limit = $limit + 10; if($reste<=0) { $reste = "Fin des messages"; $avant = ""; $apres = ""; } else { $reste = "10 affichés - Reste "; $reste .= $count - $limit - 10; $avant = "<a href=\"$index"."$signe"."limit=$reste_limit\">"; $apres = "</a>"; } if($count==0) { $reste = "Aucun message"; $avant = ""; $apres = ""; } echo "<center><font face=\"$face\" color=\"$color\" size=\"2\">[$avant"."$reste"."$apres]</font></center><br>\n"; echo "<center><font face=\"$face\" color=\"$color\" size=\"2\">$footer</font></center>\n"; echo "<hr size=1 width=\"$width\">\n"; mysql_close(); } ?> voila...
Afficher le profil de Didou91Envoyer un message privé à Didou91
 Revenir en haut de la page
 nono21  Posté le 26/10/2004 à 11:08  
Petit astucien

162 Messages
En fait je voulais dire $message=ereg_replace("\r?\n","<br />",$message); A utiliser juste avant l'affichage de la variable $message Si quelqu'un tape un message dans ta textarea, en appuyant sur entrée ça fait un retour à la ligne qui sera stocké comme tel dans ta bdd le code que je t'ai donné doit remplacer à l'affichage ces retours à la ligne par des <br />, (mais j'avais mal écrit le code, j'espère que maintenant ça va matrcher chez toi)
Afficher le profil de nono21
 Revenir en haut de la page
 Didou91  Posté le 26/10/2004 à 11:36  
Petit astucien

41 Messages
Bonjour nono21[hello] Maintenant CA MARCHE....[bigsmile] Un grand MERCI pour ton aide [clindoeil] Didou.

Modifié par Didou91 le 26/10/2004 11:43
Afficher le profil de Didou91Envoyer un message privé à Didou91
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsForum des Webmasters

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page