While...oui mais pas tout while !

cs_rocknroll2 Messages postés 100 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 22 janvier 2010 - 20 nov. 2004 à 01:16
cs_rocknroll2 Messages postés 100 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 22 janvier 2010 - 20 nov. 2004 à 23:46
Bonsoir à tous,

Je me lance dans le PHP/SQL. Bon j'arrive à pas mal de chose en cherchant sur ce forum, mais je bute sur un truc incompréhensible pour ma petite tête.

J'ai une boucle while qui marche impec sur mes 420 enregistrements de ma base SQL....... sauf que mon WHILE ne veut absolument pas m'afficher le PREMIER enregistrement...... J'aimerais bien garder les qques cheveux qu'il me reste !

Mon tout petit bout de code...

<?php require_once('Connections/basesql.php'); ?>
<?php
mysql_select_db($database_basesql, $basesql);
$query_reponse = "SELECT * FROM `mdp`";
$reponse = mysql_query($query_reponse, $basesql) or die(mysql_error());
$row_reponse = mysql_fetch_assoc($reponse);
$totalRows_reponse = mysql_num_rows($reponse);
?>

<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

Test affichage base de données

</html>
<?php
?>

Nb d'enregistrements :
<?php
echo $totalRows_reponse;

?>

<?php

// On fait une boucle pour lister tout ce que contient la table :
while ($donnees = mysql_fetch_array($reponse) )
{
?>

Dossard : <? echo $donnees['nom']; ?> / <? echo $donnees['prenom']; ?>

<?php
}
mysql_close(); // Déconnexion de MySQL
?>

Si qqu'un a une idée.... Merci d'avance.

Par la même occase: qu'est ce que représente la première ligne
<?php require_once('Connections/basesql.php'); ?>

????????????

Ouais, je serais un Pro du PHP dans 10/15 ans
;)

12 réponses

tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
20 nov. 2004 à 01:50
bon voila, moi oci je suis débutant mais je v qd meme essayer de repondre a ta question

moi j'utilise pa tout a fais la meme methode, mais j'en ai une qui marche bien, je l'ai déja testé a plusieurs reprise:

alors voila essaye comme ca:

<html>
<head>
<title>Document sans titre</title>
<meta http-equiv= "Content-Type" content="text/html; charset=iso-8859-1">
</head>

Test affichage base de données

<?php
mysql_select_db($database_basesql, $basesql);
$requete = "SELECT * FROM `mdp`";
$result = mysql_query($requete, $basesql) or die(mysql_error());

$totalRows_reponse = mysql_num_rows($result); // tu recupere le nombre d'enregistrement je pense moi je l'utilise pas
echo " Nb d'enregistrements :$totalRows_reponse; ";

while ($res = mysql_fetch_object ($result);)
{
// et ici tu recupere les differents champs et tu les ecrits proprement
echo "Dossard : $res->nom / $res->prenom
";
}

mysql_close(); // Déconnexion de MySQL
?>

</html>

et voila ton code qui devrait marcher je pense

pour ton autre question, je peut aussi te repondre
<?php require_once('Connections/basesql.php'); ?>
ce petit bout de code appel le code de la page 'basesql.php' et l'inclus dans cette page ci

bon voila jesper ke je t'ai bien aidé, tiens moi o courant
bonne chance pour la suite

*******************************
http://arnaud.calvez.free.fr/ **
*******************************
0
sc0rpX Messages postés 5 Date d'inscription jeudi 17 avril 2003 Statut Membre Dernière intervention 7 mars 2008
20 nov. 2004 à 05:32
once dit que ce fichier ne sera charger qu'une seule fois et conservé en mémoire donc pas besion de le recharger. Fonctionne aussi avec include donc tu peux requérir ou inclure et ce sera conservé dans des espaces mémoires séparés.

-michel
le scorpion du désert
0
cs_windu Messages postés 282 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 19 juillet 2006
20 nov. 2004 à 10:18
la ou est ton pb, rocnroll2, c'est que tu utilise d'abord un mysql_fetch_assoc pour connaitre $row_reponse! Or cela va tout simplement déplacer le pointeur dans le tableau ce qui fait que le 1° résultat tu vien de l'utiliser ici... donc lorsque tu vas vouloir afficher dans ton while le pointeur va commencer à partir du 2° puisque tu las fait déplacer

Que la Force soit avec toi, Jeune Padawan!!!
0
cs_rocknroll2 Messages postés 100 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 22 janvier 2010
20 nov. 2004 à 11:23
Merci à vous pour la rapidité....

> tucsoufle: J'essaye ton système, merci pour les commentaires.
>scOrpX: Merci pour l'info, ça peut aider pour la suite.
> windu: Je comprends mieux maintenant... la question suivante est alors maintenant: Comemnt connaître le nombre d'enregistrement puis ensuite de remettre le pointeur au début de la bd?

Encore merci, sans des personnes comme vous... dur dur pour un débutant !

Ouais, je serais un Pro du VB6 et du PHP dans 10/15 ans
;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
20 nov. 2004 à 12:02
Salut :-)

Utilises la fonction mysql_data_seek :

Fonction data_seek()

a ++

http://www.vulgarisation-informatique.com : entraide, dépannage et vulgarisation informatique
0
cs_windu Messages postés 282 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 19 juillet 2006
20 nov. 2004 à 12:09
ben pour connaitre le nbre de resultat récupéré, utilise mysql_num_rows() qui ne décale pas le pointeur... mais toi tu a mis just avant un mysql_fetch_assoc(): c lui qui te décale le pointeur...
Vois si tu en a vraimen besoin! car il es impossible de remettre le pointeur au début, ou meme de le faire reculer...
Ce kil es conseillé de fairec de mettre toutes les données de ton mysql_fetch_row dasn un tableau puis d'afficher ce tableau!
Tu peux ainsi naviguer comme tu le veux
Que la Force soit avec toi, Jeune Padawan!!!
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
20 nov. 2004 à 12:13
"car il es impossible de remettre le pointeur au début, ou meme de le faire reculer..."

Cf mon post précédent...

"Ce kil es conseillé de fairec de mettre toutes les données de ton mysql_fetch_row dasn un tableau puis d'afficher ce tableau!"

Perte de performances, puisque mysql_fectch_row (ou assoc si tu veux) transforme déjà les lignes en tableau, inutile de recréer un tableau contenant tous les tableaux, c'est de la pure perte...

a +

http://www.vulgarisation-informatique.com : entraide, dépannage et vulgarisation informatique
0
cs_windu Messages postés 282 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 19 juillet 2006
20 nov. 2004 à 12:52
anthomicro->exact ya de la perte mia le but est de pouvoir naviquer et/ou modifer les données dans le tableau car mysql_fetch_* ne permet qu'un sens de navigation ...perso je l'utilise surtout quand j'ai de nombreuses requetes sur 1 BDD dans la meme page! Ainsi une fois que mes tableaux sont créés, je peux fermer la conexion a la BDD et travailler avec mes tableaux, comme je le désire (mais c'est vrai qu'ici, ca na pas trop d'utilité...)

Que la Force soit avec toi, Jeune Padawan!!!
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
20 nov. 2004 à 13:08
Oui, d'autant plus que mysql_data_seek permet de placer le pointeur où tu souhaites :-)

a +

http://www.vulgarisation-informatique.com : entraide, dépannage et vulgarisation informatique
0
cs_windu Messages postés 282 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 19 juillet 2006
20 nov. 2004 à 13:46
Oupsss... désolé de t'avoir induit en erreur! en effet, j'avais complètemetn oublié l'existence de mysql_data_seek!
Je m'en vais plein de honte envers moi-même et retourne apprender les bases du PHP

Que la Force soit avec toi, Jeune Padawan!!!

P.S.: le maitre Jedi vient de s'apercevoir qu'il n'est qu'un Padawan du PHP lui aussi...
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
20 nov. 2004 à 13:56
Lol

http://www.vulgarisation-informatique.com : entraide, dépannage et vulgarisation informatique
0
cs_rocknroll2 Messages postés 100 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 22 janvier 2010
20 nov. 2004 à 23:46
YES, vous êtes trop forts!

Je vais ingurgiter tout ça.. mais le temps de digérer.... je vous donne RDV dans 10 ans !

Sympa les zamis. Que feraient les newbyes sans des personnes comme vous ?

Je connaissais Basic, HTML et VB6... à mon niveau... j'ai mis l'ongle dans PHP, mais je sens que je vais m'y glisser à fond.

Trop fort !

Ouais, je serais un Pro du VB6 et du PHP dans 10/15 ans
;)
0
Rejoignez-nous