8791 sujets

Développement web côté serveur, CMS

Bonjour bonjour!

Voilà un petit problème tout bête, et je pense que la solution le seras tout autant ( Smiley confused ), seulement impossible de trouver la sollution, en cherchant testant et tout les mots désignant une recherche approfondie Smiley decu ...

voila en faite il s'agit d'un forum. On peut créer un nouveau sujet et poster des réponse a ce sujet, qui sont censé être alligné en dessous. J'ai tout réussi à faire, y compris supprimer les messages si on possede les droits blabla mais la n'est pas le problême ^^

Donc c'est en php, avec une bdd mysql. On crée un nouveau sujet qui va dans une table, et en répondant a ce sujet le message va dans une autre table avec comme attribut l'id du sujet. On peu donc avoir un sujet et 20 réponse en dessous.

Je vous poste que le minimum, le code comme ici bas n'est pas sans fautes donc ^^


$i = "0";
$requete = mysql_query("SELECT * FROM forum order by id desc") or die(mysql_error());

while($i < 10)  {   
	
	$row = mysql_fetch_array($requete);
	
$row['message'] = str_replace("^^","<img border='0' src='../../img/smiley/20.gif' alt=' ^^ '>", $row['message']);
$row['message'] = str_replace(":)","<img border='0' src='../../img/smiley/21.gif' alt=' [smile] '>", $row['message']);
$row['message'] = str_replace(" [decu]","<img border='0' src='../../img/smiley/22.gif' alt='  [decu] '>", $row['message']);
$row['message'] = str_replace("[b]","<h class='gras'>", $row['message']);
$row['message'] = str_replace("[/b]","</h>", $row['message']);
$row['message'] = str_replace("[i]","<h class='italic'>", $row['message']);
$row['message'] = str_replace("[/i]","</h>", $row['message']);
$row['message'] = str_replace("[u]","<h class='underline'>", $row['message']);
$row['message'] = str_replace("[/u]","</h>", $row['message']);
$row['message'] = str_replace("\"","&quot;", $row['message']);

$pseudo = $row['login'];
$titre = $row['titre'];
$date = $row['date'];
$id = $row['id'];


$a = "0";
$sujet = mysql_query("SELECT * FROM forum_message where article = '$id'") or die(mysql_error());

$num_rows = mysql_num_rows($sujet);

while($a < $num_rows)  {

$infos = mysql_fetch_array($sujet);
$infos['message'] = str_replace("^^","<img border='0' src='../../img/smiley/20.gif' alt=' ^^ '>", $infos['message']);
$infos['message'] = str_replace(":)","<img border='0' src='../../img/smiley/21.gif' alt=' [smile] '>", $infos['message']);
$infos['message'] = str_replace(" [decu]","<img border='0' src='../../img/smiley/22.gif' alt='  [decu] '>", $infos['message']);
$infos['message'] = str_replace("[b]","<h class='gras'>", $infos['message']);
$infos['message'] = str_replace("[/b]","</h>", $infos['message']);
$infos['message'] = str_replace("[i]","<h class='italic'>", $infos['message']);
$infos['message'] = str_replace("[/i]","</h>", $infos['message']);
$infos['message'] = str_replace("[u]","<h class='underline'>", $infos['message']);
$infos['message'] = str_replace("[/u]","</h>", $infos['message']);
$infos['message'] = str_replace("[link]","<a href='", $infos['message']);
$infos['message'] = str_replace("[/link]","'></a>", $infos['message']);
$infos['message'] = str_replace("\"","&quot;", $infos['message']);


$message = $infos['message'];
$pseudo2 = $infos['login'];

echo "<span class='normal'>Post de </span>  <span class='gras'>$pseudo2</span><br> $message  <br>";

$a++;

}

echo " "; 



Le bute est de tout afficher dans le dernier echo (sujet et les réponses)

Je voulais donc mettre mon premier echo (les réponses) dans une variable et l'appler dans l'echo 2.

Seulement comment faire??


$echo_reponses = "echo "<span class='normal'>Post de </span>  <span class='gras'>$pseudo2</span><br> $message  <br>"";

ça ne fonctionne pas comme ça... ni avec les simple ' ni avec les variable '.variable.' ... Concretement je veux donc savoir comment mettre un echo dans une variable, donc $variable_exemple = echo (mon mes echos Smiley smile ) Je suis bloqué et je conte sur l'aide d'une z'entil âme Smiley biggrin Smiley lol

Merci à tous!! Smiley smile
Modifié par pikoo (15 Apr 2007 - 22:13)
salut !

Je comprend pas bien...tu veux que le résultat d'un echo se place dans ta variable au lieu de sortir sur l'écran ? Smiley sweatdrop

pourquoi tu concatenes pas tes chaines de caractères ?
pikoo a écrit :

$echo_reponses = "echo "<span class='normal'>Post de </span>  <span class='gras'>$pseudo2</span><br> $message  <br>"";

Je ne suis pas certain d'avoir bien compris ton problème... mais c'est peut être ça que tu essaies de faire:

$echo_reponses = '<span class="normal">Post de </span>  <span class="gras">' . $pseudo2 . '</span><br>' .  $message . '<br>';

echo $echo_reponses;

?
Modifié par SuD (18 Apr 2007 - 18:32)
Bonsoir,

Deux choix s'offre à toi :

La concaténation :

<?php

$echo_reponses = '<span class="normal">Post de </span> <span class="gras">'.$pseudo2.'</span><br>'.$message.'<br>';

?>


Ou soit en insérant tes echo dans du html :

<?php
function()
{
tout ton code php
?>
<span class="normal">Post de</span> <span class="gras"><?php echo $pseudo2; ?></span><br><?php echo $message; ?><br>
<?php
}
?>


Voilà.

Si ce n'est pas ça je n'ai rien compris à ton post Smiley biggol