Page 1 sur 3

Plusieurs script commentaire sur plusieur pages

MessagePosté: Sam Aoû 09, 2008 6:13 pm
par Valbuena72
Re, les tutomakers
voila
en faite

comment faire pour avoir le meme script commentaire sur le meme page mais pas tout les commentaires ensemble :
http://valbuenaarts.e3b.org/Avatar.php?page=1
http://valbuenaarts.e3b.org/Signatures.php

voyez c'est le meme script sauf que je voudriez que les commentaire soit unique sur chaque page
les commentaires
pour les avatar sur la page avatar
et pareil pour les autre pages
Il y a t-il une fonction ? pour ça :)

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Sam Aoû 09, 2008 7:06 pm
par Yoyo
Hep, j'ai pas trop compris la question :mrgreen:

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Sam Aoû 09, 2008 7:10 pm
par Valbuena72
Mon script s'affiche sur toute les pages
mais comme il y a des commentaire
il s'affiche avec :( tous les commentaire
mais les commentaires correponsdent pour la page avatar

alors que je suis sur la page signature

je voudrais garder ce meme script mais que chaque page conservent ces commentaire qui s'affiche sur la page avatar
comprendo
schema

page avatar => commentaire avatar
page signature => commentaire avatar

or je veux

page avatar => commentaires avatar
page signature => commentaires signatures
ça va la ?

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Sam Aoû 09, 2008 7:14 pm
par Yoyo
Je sais même pas de quel script tu parles :D

Sinon pour les différencier, tu rajoutes un champ type dans la base de données et quand tu vas récupérer les données tu feras WHERE type = 1 si tu es sur la page avatar, et WHERE type = 2 si tu es sur la page signatures par exemple.

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Dim Aoû 10, 2008 10:28 am
par Valbuena72
Je met un champ de type id ? avec le type int :)
je vois pas trop la :roll:

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Dim Aoû 10, 2008 11:34 am
par Yoyo
Comme tu veux :p

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Dim Aoû 10, 2008 11:35 am
par Valbuena72
:mrgreen: c'est gentil
ça

et après

je met ça ou => WHERE type = 1 lala je comprend rien :arf:

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Dim Aoû 10, 2008 11:44 am
par Yoyo
C'est facile à comprendre, si tu veux identifier si c'est un commentaire pour le type 1 (avatar) quand tu ajoutes le commentaire, tu rajoutes dans ton INSERT (...,1,..) et quand tu affiches ta page avatar tu fais une requête en sélectionnant que les commentaires pour les avatars avec un WHERE type = 1.

Idem avec les signatures sauf que tu mets 2 partout par exemple. Tu vois toujours pas ? :D

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Dim Aoû 10, 2008 11:55 am
par Valbuena72
alors :
*1ere etape :
ajouter un champ dans mysql a la table commentaire
de type int :)
2eme etape :
tu rajoutes dans ton INSERT (...,1,..) je vois pas ou est ce que c'est :|/// ah si quand on selectionne une table :
Code: Tout sélectionner
 mysql_query("INSERT INTO commentaire VALUES('', '" . $pseudo . "', '" . $message . "')") 
;
3eme etape : la non plus je pige po :boulay:

lalala


si ça peut aider :
Code: Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
   <head>
       <title>Livre d'or</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <link rel="stylesheet" media="screen" type="text/css" title="style" href="page.css" /> 
        <style type="text/css">
     

        </style>
    </head>
    <body>
 
    
 
    <p class="pages">
 
<?php
mysql_connect
("*******", "**********", "********");
mysql_select_db("*******");

 
// --------------- Etape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------
 
if 
(isset($_POST['pseudo']) AND isset($_POST['message']))
{
    $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
    $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
    $message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
 
    
// On peut enfin enregistrer :o)
    mysql_query("INSERT INTO commentaire VALUES('', '" . $pseudo . "', '" . $message . "')");
}
 
// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------
 
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 20; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM commentaire');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a class="numero" href="Avatar.php?page=' . $i . '">' . $i . '</a> ';
}
?>
 
</p>

<?php
 
 
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
 
if 
(isset($_GET['page']))
{
        $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
        $page = 1; // On se met sur la page 1 (par défaut)
}
 
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
 
$reponse 
= mysql_query('SELECT * FROM commentaire ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
 
while 
($donnees = mysql_fetch_array($reponse))
{
      echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
}




echo "il y a $totalDesMessages commentaire";

 



 
mysql_close
(); // On n'oublie pas de fermer la connexion à MySQL ;o)
?>


 
</body>
</html>

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Dim Aoû 10, 2008 11:59 am
par Yoyo
En gros si tu es sur la page avatar et que type = 1 pour les avatars, vu que tu as ajouté un champ type int à la fin de ta table commentaire, ça donnerait un truc du genre:

Code: Tout sélectionner
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
       <head>
           <title>Livre d'or</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <link rel="stylesheet" media="screen" type="text/css" title="style" href="page.css" /> 
            <style type="text/css">
         

            </style>
        </head>
        <body>
     
        
     
        <p class="pages">
     
    <?php
    
    mysql_select_db
("Valbuenaarts_total");

     
    
// --------------- Etape 1 -----------------
    // Si un message est envoyé, on l'enregistre
    // -----------------------------------------
     
    if 
(isset($_POST['pseudo']) AND isset($_POST['message']))
    {
        $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
        $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
        $message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
     
        
// On peut enfin enregistrer :o)
        mysql_query("INSERT INTO commentaire VALUES('', '" . $pseudo . "', '" . $message . "',1)");
    }
     
    
// --------------- Etape 2 -----------------
    // On écrit les liens vers chacune des pages
    // -----------------------------------------
     
    
// On met dans une variable le nombre de messages qu'on veut par page
    $nombreDeMessagesParPage = 20; // Essayez de changer ce nombre pour voir :o)
    // On récupère le nombre total de messages
    $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM commentaire WHERE type = 1');
    $donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];
    // On calcule le nombre de pages à créer
    $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
    // Puis on fait une boucle pour écrire les liens vers chacune des pages
    echo 'Page : ';
    for ($i = 1 ; $i <= $nombreDePages ; $i++)
    {
        echo '<a class="numero" href="Avatar.php?page=' . $i . '">' . $i . '</a> ';
    }
    ?>
     
    </p>

    <?php
     
     
    
// --------------- Etape 3 ---------------
    // Maintenant, on va afficher les messages
    // ---------------------------------------
     
    if 
(isset($_GET['page']))
    {
            $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
    }
    else // La variable n'existe pas, c'est la première fois qu'on charge la page
    {
            $page = 1; // On se met sur la page 1 (par défaut)
    }
     
    
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
    $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
     
    $reponse 
= mysql_query('SELECT * FROM commentaire WHERE type = 1 ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
     
    while 
($donnees = mysql_fetch_array($reponse))
    {      echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
    }




    echo "il y a $totalDesMessages commentaire";

     



     
    mysql_close
(); // On n'oublie pas de fermer la connexion à MySQL ;o)
    ?>


     
    </body>
    </html>


Voila, regarde les modifications dans les 3 requêtes. Tu remplaces 1 par 2 pour les pages concernant les signatures :)

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Dim Aoû 10, 2008 4:19 pm
par Valbuena72
ouf tu m'a bien appris

quelque chose

donc quelque question sont resolue

mais il y a encore quelque chose qui ne vas pas
C'est bien ton changement
mais faudrait peut etre aller chercher
Code: Tout sélectionner
SELECT COUNT(*) AS nb_messages FROM commentaire WHERE type 1
:) type 1 sur mysql pour dire que ces bien ça sur la page avatar ^^
:bigboulay:
MERCI beaucoup :ange:

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Lun Aoû 11, 2008 1:01 am
par Yoyo
Bah je le fais le type = 1 non ? Pas compris ce qui n'allait toujours pas :mrgreen:

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Lun Aoû 11, 2008 8:21 am
par Valbuena72
ben la c'est avec mysql que je comprend pas :cry:
si j'execute ton code ça me faire une belle erreur :|
donc j'arrive pas a comprendre ce qui faut faire sur mysql

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Lun Aoû 11, 2008 11:18 am
par Yoyo
C'est quoi les erreurs ? C'est qu'un exemple que je t'ai fait, faut pas pleurer parce qu'il y a une erreur lol

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Lun Aoû 11, 2008 9:06 pm
par Valbuena72
faut il modifier/ajouter un champ dans mysql :) :o

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Lun Aoû 11, 2008 9:28 pm
par Yoyo
Bah évidemment, tu m'as dit que tu avais rajouté un champ type (int), tu l'as pas fait ? ^^ Mais c'est quoi les erreurs ??? Sans les erreurs je sais pas t'aider moi lol

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Mar Aoû 12, 2008 7:07 am
par Valbuena72
ben voila l'erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/v/valbuenaarts/html/livreor2.php on line 45
Page :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/v/valbuenaarts/html/livreor2.php on line 79
il y a commentaire
voila sur mysql

Image

ligne 45:

Code: Tout sélectionner
 $retour mysql_query('SELECT COUNT(*) AS nb_messages FROM commentaire WHERE type = 1'); 

ligne 79 :
Code: Tout sélectionner
    while ($donnees mysql_fetch_array($reponse))
    {      echo 
'<p><strong>' $donnees['pseudo'] . '</strong> a écrit :<br />' $donnees['message'] . '</p>';
    }
 

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Mar Aoû 12, 2008 1:12 pm
par Yoyo
Oula que tay lourd :mrgreen:

Pourquoi ton champ il s'appelle "1" et pas "type" ?

Je t'ai dit de faire un champ appelé "type" qui sera un entier. Pour l'entier ça va mais son nom c'est "type" qu'il faut !

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Mar Aoû 12, 2008 3:42 pm
par Valbuena72
j'ai mis un le nom type puis int not nul :s ça fait rien

Re: Plusieurs script commentaire sur plusieur pages

MessagePosté: Mar Aoû 12, 2008 3:45 pm
par Yoyo
Mais enfin tu le fais exprès c'est pas possible, je te parle du

Code: Tout sélectionner
champ type
--------------
Type  int


Type c'est le nom et pas la colonne Type sur ton image :D
Tu vas comprendre quand ? :D

Tiens petit rappel, dans une requête le where se forme comme ceci:

Code: Tout sélectionner
WHERE champ valeur


Donc ceci, tu le comprends mieux maintenant ? :D

Code: Tout sélectionner
WHERE type 1