Afficher le resultat d'une requete SQL sur une page web [Résolu]

Messages postés
12
Date d'inscription
samedi 25 septembre 2004
Dernière intervention
10 octobre 2004
- 25 sept. 2004 à 16:28 - Dernière réponse :
Messages postés
3
Date d'inscription
lundi 6 septembre 2004
Dernière intervention
27 septembre 2004
- 27 sept. 2004 à 15:32
Bonjour,

j'essaie laborieusement d'afficher le resultat de cette requete :

$sql = 'SELECT NomEleve, retenue.NumEleve, retenue.HeureDebutRetenue, retenue.HeureFinRetenue, retenue.MotifRetenue, retenue.ProfRetenue, retenue.TravailRetenue, retenue.PresenceRetenue'
. ' FROM eleve, retenue' . ' WHERE eleve.NumEleve retenue.NumEleve AND retenue.DateRetenue "25/09/2004" LIMIT 0, 30';

mon but est donc d'afficher tous les resultats sur une page web mais je n'arrive pas a le faire.

Pourriez vous m'expliquer comment cela se script svp

Merci d'avance
starskyb
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
102
Date d'inscription
lundi 14 avril 2003
Dernière intervention
22 août 2005
- 25 sept. 2004 à 16:42
3
Merci
Salut

Il faut que tu passes par un tableau de résultats pour récupérer ts tes champs ligne par ligne.
Il faut alors passer un "fetch".

Apres avoir envoyé ta requete via mysql_query(""); tu envoies ce paquet de résultat dans mysql_fetch_row ou mysql_fetch_array

Exemple ****

$sql=mysql_query("ta requete");
while($res=mysql_fetch_row($sql)) {
echo $res[0];
}

Explication ***
/* A chaque fetch tu fais avancer ton curseur ligne par ligne 0 .... n
Tu utilise donc un while pour continuer a avancer tt que tu as des resultats a afficher.
De cette maniere tu recupere ton tableau de resultats ds la var $res.
Il te suffit ensuite d'acceder aux champs par son numero de colonne (se reporter a la requete).
Cad $res[0] correspondra a "NomEleve", $res[1] retenue.NumEleve, etc...
(En passant par un fetch_array il aurait fallu indiquer le nom du champs $res['NomEleve'] */

DoR][aN

Merci dorian53 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de dorian53
Meilleure réponse
Messages postés
12
Date d'inscription
samedi 25 septembre 2004
Dernière intervention
10 octobre 2004
- 25 sept. 2004 à 17:48
3
Merci
ok donc si j'ai bien compris ca se passe comme ca :
$sql mysql_query("SELECT NomEleve, retenue.NumEleve, retenue.HeureDebutRetenue, retenue.HeureFinRetenue, retenue.MotifRetenue, retenue.ProfRetenue, retenue.TravailRetenue, retenue.PresenceRetenue FROM eleve, retenue WHERE eleve.NumEleve retenue.NumEleve AND retenue.DateRetenue = "25/09/2004" LIMIT 0, 30");
while($res=mysql_fetch_row($sql)) {
echo $res[0], $res[1], $res[2], $res[3], $res[4], $res[5], $res[6], $res[7], ;
}

mais dans le cas précis de ce code j'ai droit a ce message d'erreur :

Parse error: parse error, unexpected T_LNUMBER in e:\pub\test\jour.php on line 15

la ligne 15 etant le while

je pense pas avoir fait d'erreur ... mais bon

merci encore

Merci starskyb 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de starskyb
Meilleure réponse
Messages postés
102
Date d'inscription
lundi 14 avril 2003
Dernière intervention
22 août 2005
- 25 sept. 2004 à 18:20
3
Merci
La concatenation fonction via un point (.) pas par une virgule.

echo $res[0].$res[1].$res[2];

si tu souahites afficher du texte fais comme ceci

echo 'Nom eleve : '.$res[0].' Num eleve : '.$res[1].'blabla'.$res[2];

DoR][aN

Merci dorian53 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de dorian53
Meilleure réponse
Messages postés
12
Date d'inscription
samedi 25 septembre 2004
Dernière intervention
10 octobre 2004
- 25 sept. 2004 à 19:00
3
Merci
J'ai essayé en ne mettant que :

echo $res[0];

et l'erreur reste la meme, semblerait que l'erreur previenne de la ligne 15 qui est :

while($res=mysql_fetch_row("$sql")) {

je pense avoir garder la syntaxe que tu m'avais donné

merci

Merci starskyb 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de starskyb
Meilleure réponse
Messages postés
102
Date d'inscription
lundi 14 avril 2003
Dernière intervention
22 août 2005
- 25 sept. 2004 à 22:36
3
Merci
Le pb vient de la syntaxe de ta requete.

DoR][aN

Merci dorian53 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de dorian53
Meilleure réponse
Messages postés
358
Date d'inscription
vendredi 1 novembre 2002
Dernière intervention
5 septembre 2006
- 26 sept. 2004 à 16:06
3
Merci
vi elle est pas bonne fait attention aux de bien mettre des ' ' entre les " "

$sql mysql_query("SELECT NomEleve, retenue.NumEleve, retenue.HeureDebutRetenue, retenue.HeureFinRetenue, retenue.MotifRetenue, retenue.ProfRetenue, retenue.TravailRetenue, retenue.PresenceRetenue FROM eleve, retenue WHERE eleve.NumEleve retenue.NumEleve AND retenue.DateRetenue = '25/09/2004'  LIMIT 0, 30");

---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)

Merci perig 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de perig
Messages postés
12
Date d'inscription
samedi 25 septembre 2004
Dernière intervention
10 octobre 2004
- 26 sept. 2004 à 16:17
0
Merci
hello :)

C'est encore une fois la communauté informatique qui gagne :)

Merci pour votre aide, ca marche nickel :)

A bientot pour d'autre correction de script (et oui je debute) :)

++ starsky
Commenter la réponse de starskyb
Messages postés
12
Date d'inscription
samedi 25 septembre 2004
Dernière intervention
10 octobre 2004
- 26 sept. 2004 à 16:35
0
Merci
Bon ce fut rapide pour que je refasse appel a vous :)

dans la continuité de ce script je pense qu'il vaut mieux que je post encore ici.

Alors mon probleme est le suivant :

###############
while($res = mysql_fetch_row($sql)){
echo 'Identifiant Eleve : '.$res[0];
echo 'Nom : '.$res[1];
echo 'Prenom : '.$res[2];
echo 'Classe : '.$res[3];
echo 'Plage horaire : de '.$res[4].' à '.$res[5];
echo 'Motif de la retenue : '.$res[6];
echo 'Demandeur : '.$res[7];
echo 'Travail à faire : '.$res[8];
echo 'Presence : '.$res[9];
}
###############

Cette partie de script devrait logiquement me permettre de sauter des lignes et bien non :) Je pense que ca devrait etre facile pour vous, pourriez vous m'expliquer comment proceder pour afficher chaque resultat sur une ligne svp

Merci
starsky
Commenter la réponse de starskyb
Messages postés
358
Date d'inscription
vendredi 1 novembre 2002
Dernière intervention
5 septembre 2006
- 26 sept. 2004 à 16:45
0
Merci
tu veux que ca se présente comment au final?
si tu veux sauter une ligne entre chaque info, rajoute ."
" a la fin de tes echo

ps: c'est pas une bonne idée de mettre ta nouvelle question ici car tu as déja validé ton prob donc il y aura que nous pour répondre a ta nouvelle question.
---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)
Commenter la réponse de perig
Messages postés
3
Date d'inscription
lundi 6 septembre 2004
Dernière intervention
27 septembre 2004
- 27 sept. 2004 à 15:32
0
Merci
Perso je préfére le mysql_num_rows pour sortir le tout en liste

ex :

$v_strQuery = " SELECT *FROM TBLNAME WHERE FIELD= 'SOMETHING' ";

$v_strResult = mysql_query($v_strQuery);
$v_intQuery = mysql_num_rows($v_strResult);
for($j=0; $j < $v_intQuery; $j++)
{
$row = mysql_fetch_array($v_strResult);
echo $row["fieldname_a"] ;
echo $row["fieldname_b"] ;
}
et pis pour faire joli faut pas oublier de faire un petit table html histoire d'avoir le tout sous forme de liste >:)
Commenter la réponse de athanathos

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.