bonsoir à tous,
un warning qui me fait tourner la tête!
c'est un code un peu à la maniere d'un forum, un formulaire avec un pseudo et une zone textarea pour le message à transmettre.
le tout est stocké dans une base de données à trois champs: id, pseudo et message.
les messages sont affichés à raison de 5 messages par pages.
dés l'ouverture de ma page , je voudrais qu'elle m'affiche les derniers messages.
voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<html>
<body>
<?php 
mysql_connect("localhost","root","");
mysql_select_db("new");
if ((isset($_POST['message']))&&(isset($_POST['pseudo']))&&($_POST['message']!=null)&&($_POST['pseudo']!=null))
           {
           $ms=$_POST['message'];
           $ps=$_POST['pseudo'];
           mysql_query("insert into tchatching values('','$ps','$ms')");
           }
 
$rows=mysql_fetch_array(mysql_query("select count(*) as nb from tchatching "));
$nbligne=$rows['nb'];
$nbligneparpage=5;
$nbpage=ceil($nbligne/$nbligneparpage);
if (isset($_GET['numpage'])) 
            $page=(integer)htmlspecialchars($_GET['numpage']);
else      $page=$nbpage;
$posdebut=(($page-1)*$nbligneparpage);
$resultat=mysql_query("select * from tchatching order by id limit $posdebut,$nbligneparpage");
while($donnee=mysql_fetch_array($resultat))
           echo $donnee['id'].'-'.$donnee['pseudo'].':'.$donnee['message'].'<br>';
for ($i=1;$i<=$nbpage;$i++) echo '<a href="tchatche.php?numpage='.$i.'">'.$i.'</a>';
mysql_close();
?>
 
<form method=POST action="tchatche.php?numpage=$nbpage">
<input type="text" name="pseudo"><br>
<textarea name="message"  rows="5"></textarea><br>
<input type="submit" value="envoyer"><br>
</form>
</body>
</html>
l'erreur est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\php\tchatche.php on line 22
j'ai suivi le code ligne par ligne,j'ai constater un truc un peu bizarre:
dés le premier affichage de ma page tout va bien, c'est les derniers messages qui sont affichés comme c'est prévu.
le problème est dans l'envoie, quand j'envoie un message l'url est de la forme suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
http://127.0.0.1:90/moi/tchatche.php?numpage=$nbpage
je ne vois pas pourquoi il ne prend pas réellement la valeur de $nbpage!
du coup, les calcules sont faussés parcequ'il prend une chaine de caractere à la place!
je sens qu'un truc tout bête m'echappe, mais je sais pas lequel, merci de m'aider!