|
|
|
|
$NbQ=mysql_num_rows($req); //je compte le nombre de ligne de ma requete
while($row = mysql_fetch_array($req))
{
for($i=1; $i<$NbQ+1;$i++){
$Id[$i]=$row['id'];
$Cat[$i]=$row['Categorie'];
$Question[$i]=$row['question'];
}
}
Salut,
Chaque appel à mysql_fetch_array() retourne une ligne résultat de ta requette. Donc la boucle for dans le while ne sert pas à grand chose. Ajoute donc une gestion de ton indice dans le while et supprime le for. Tu peux ainsi remplacer ton while par un for (plus élégant) :
for($i=1;$row = mysql_fetch_array($req); $i++)
{
$Id[$i]=$row['id'];
$Cat[$i]=$row['Categorie'];
$Question[$i]=$row['question'];
}
A+, crabs ..., I think Slackware sounds better than 'Microsoft,' -- Patrick Volkerding - founder and maintainer of Slackware |
ok je te remercie je vais tester ton code meme si j'avais trouver une autre solution.
merci a toi |
alors voila que ce soit avec ton code ou le mien j'ai un soucis
le but de la page est d'afficher une question en fonction de son numéro. si j'affiche les valeurs du tableau tout va bien a partir de cette page je valide la reponse et fais appelle a une page de verification qui en plus de verifier la réponse , incremente le numéro de la question. au retour sur la feuille principale le numéro de la question est bon mais j'obtient pour la question le message d'erreur suivant undefined variable $Tab...... en fait il ne reconnait plus le tableau voila le code de la page principale
$Server="localhost";
$User="root";
$Password="";
$db = mysql_connect($Server, $User, $Password) or die('Erreur de connexion '.mysql_error());
mysql_select_db('mysql',$db) or die('Erreur de selection '.mysql_error());
if(isset($_GET['categorie'])) $Categorie=$_GET['categorie'];
else $Categorie="";
$sql = "SELECT * FROM questions where Categorie='$Categorie'";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$NbQ=mysql_num_rows($req);
$sql2 = "SELECT * FROM apprenant where nom='$Nom' and prenom='$Prenom' and pseudo='$pseudom'";
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
while($row = mysql_fetch_array($req2))
{
$NumQuestion=$row['NumQuestion'];
}
$i=1;
$NbQ=$NbQ+1;
while($row= mysql_fetch_array($req))
{
$Id=$row['id'];
$Cat=$row['Categorie'];
$Question=$row['question'];
$Num=$i++;
$Tab[$Num]=array($Id,$Cat,$Question);
}
?>
et voici le code de la page verif
<?php
$Nom=$_SESSION['nom'];
$Prenom=$_SESSION['prenom'];
@$pseudom=addslashes(htmlentities($_SESSION['pseudom']));
$sql = "SELECT * FROM apprenant where nom='$Nom' and prenom='$Prenom' and pseudo='$pseudom'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($row = mysql_fetch_array($req))
{
$NumQuestion=$row['NumQuestion'];
}
$NumQuestion=$NumQuestion+1;
$sql2="UPDATE apprenant SET NumQuestion='$NumQuestion' where nom='$Nom' and prenom='$Prenom' and pseudo='$pseudom'";
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
?>
je m'en sort pas du tout |
Salut,
Les morceaux de code que tu donnes ne montre pas l'erreur. Donnes le message d'erreur en entier ainsi que les lignes qui peuvent être intéressantes pour en trouver la raison et en particulier celle qui provoque l'erreur. Donne aussi les structure de tes tables. Le numéro de la question devrait être dans ta table questions et il serait préférable que tu fasses des requettes avec des clause restrictive de type "WHERE NumQuestion='...' plutôt que de parcourir la table à chaque fois. A+, crabs ..., I think Slackware sounds better than 'Microsoft,' -- Patrick Volkerding - founder and maintainer of Slackware |
merci crabs le probleme est résolu |
| 27/03 16h03 | [PHP] Méthodes de débogage | PHP |
| 03/11 14h35 | [PHP] Date de dernière modification | PHP |
| 27/01 18h36 | Comment lire un fichier ligne par ligne | Bash |
| 04/11 22h53 | [PHP] Rediriger sur une autre page (redirection) | PHP |
| 20/03 16h03 | [PHP] Notice: Undefined index: | PHP |
| 11/04 21h48 | [PhP] lire une partie d'une ligne | 9 |
| 28/02 17h02 | PHP/SQL Tableau javascript | 4 |
| 03/01 19h54 | [PHP] Lire/écrire un fichier texte par ligne | 5 |
| 16/10 13h02 | PHP: classement tableau multidimensionel | 11 |
| 29/11 18h29 | Php : class tableau | 2 |
![]() | PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de... | Catégorie: PHP Licence: Freeware/gratuit |
![]() | MediaInfo - MediaInfo fournit la liste des codecs nécessaires ainsi que des informations techniques sur vos fichiers vidéo et audio. ... | Catégorie: Codecs Licence: Open Source |
![]() | PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,... | Catégorie: Développement Licence: Freeware/gratuit |
![]() | VLC - VLC Media Player est un lecteur multimédia sous capable de lire de nombreux formats audio et vidéo (MPEG-1, MPEG-2, MPEG-4,... | Catégorie: Lecteurs vidéo Licence: Open Source |
![]() | La ferme en délire | Catégorie: Jeu vidéo PC | 4.95 € Amazon.fr |
![]() | J'Aime Lire Bienvenue Au | Catégorie: Jeu vidéo PC | |
![]() | Lapin malin : J'apprends | Catégorie: Jeu vidéo PC |