rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[php] lecture d'un tableau

Posté par antic80, le dimanche 30 avril 2006 à 19:47:58
Bonsoir

voila j'ai beaucoup de mal a comprendre a les tableaux en php

j'ai un code dans ce genre

$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'];
}


}



je sais pas si ce code est bon

en fait ce que je veux faire un peu plus bas c'est

récupérer le numéro de la question en cours (ca je sais faire)

afficher la question correspondant au numéro (la ca merde car le code me renvoie la question n°2 a chaque fois)
Répondre à antic80  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
crabs, le lundi 1 mai 2006 à 07:10:43
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
Répondre à crabs

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
antic80, le lundi 1 mai 2006 à 10:29:45
ok je te remercie je vais tester ton code meme si j'avais trouver une autre solution.

merci a toi
Répondre à antic80

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
antic80, le lundi 1 mai 2006 à 12:21:13
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
Répondre à antic80

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
crabs, le jeudi 4 mai 2006 à 05:57:21
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
Répondre à crabs

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 antic80, le jeudi 4 mai 2006 à 08:10:19
merci crabs le probleme est résolu
Répondre à antic80
Logiciels pertinents trouvés dans les téléchargements
Télécharger PHP Edit 0.6PHP 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
Télécharger MediaInfo 0.7.7.4MediaInfo - 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
Télécharger PSPad 4.5.2PSPad - 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
Télécharger VLC 0.8.6iVLC - 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
Plus de logiciels gratuits sur « [php] lecture d'un tableau »