affichage des elements de ma base

micka
Invité n'ayant pas de compte PHPfrance

26 déc. 2005, 16:55

voila je souhaite faire afficher les elements de ma base qui ont un statu particulié.
mais je ne sais le faire uniquement sur un seul element.
hor il faudrai que pour chaque element trouvé une ligne suplementaire soit affichée.
1 statu trouvé une ligne à l'affichage.
5 status trouvés 5 lignes à l'affichage.
Merci

<form name="loulou.php" action="#" method="POST">
$connexion = mysql_connect('***','***','***');// Connexion à la base de donnée
mysql_select_db('***',$connexion)  or die('Erreur de selection '.mysql_error()); 
$requete = "SELECT * FROM detail LEFT JOIN staus on staus.id_status = detail.id_status  WHERE detail.id_status = '".$_POST['etat_portables']."' ";
$resultat = mysql_db_query('base_portable',$requete,$connexion) or die('Erreur de selection '.mysql_error()); // execution de la requete
mysql_close($connexion);// Fermeture de la connexion


<input type="text" name="num_incident" value="<? echo mysql_result($resultat, 0, 'id_detail'); ?>">
<input type="text" name="matricule" value="<? echo mysql_result($resultat, 0, 'matricule'); ?>">
<input type="text" name="portable" value="<? echo mysql_result($resultat, 0, 'num_portable'); ?>">
<input type="text" name="date" value="<? echo mysql_result($resultat, 0, 'date'); ?>">
<input type="text" name="status" value="<? echo mysql_result($resultat, 0, 'detail.id_status'); ?>">

</form>

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

26 déc. 2005, 17:22

La boucle est la solution.
Fais une recherche sur ce forum avec boucle et base de données
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

micka
Invité n'ayant pas de compte PHPfrance

26 déc. 2005, 17:50

Oki doki

micka
Invité n'ayant pas de compte PHPfrance

26 déc. 2005, 18:09

je viens de tester avec un while($row = msql_num_rows($resultat)).
mais j'ai un message d'erreur Fatal error: Call to undefined function: msql_num_rows() ?

ViPHP
pjl
ViPHP | 2119 Messages

26 déc. 2005, 18:49

si tu regardais de près le nom de ta fonction qui pose PB

micka
Invité n'ayant pas de compte PHPfrance

27 déc. 2005, 12:00

apres modification la boucle tourne sans fin (time out).
comment la faire stoper sur le drenier enregistrement ?
$connexion = mysql_connect('localhost','root','');// Connexion à la base de donnée
mysql_select_db('base_portable',$connexion)  or die('Erreur de selection '.mysql_error()); 
$requete = "SELECT * FROM detail LEFT JOIN staus on staus.id_status = detail.id_status  WHERE detail.id_status = '".$_POST['etat_portables']."' ";
$resultat = mysql_db_query('base_portable',$requete,$connexion) or die('Erreur de selection '.mysql_error()); // execution de la requete
mysql_close($connexion);// Fermeture de la connexion

while($rows = mysql_num_rows($resultat))
{
$id_detail = mysql_result($resultat, 0, 'id_detail');
$matricule = mysql_result($resultat, 0, 'matricule');
$num_portable = mysql_result($resultat, 0, 'num_portable');
$date = mysql_result($resultat, 0, 'date');
$status = mysql_result($resultat, 0, 'detail.id_status');
}
<? echo $id_detail;?>
<? echo $matricule;?>
<? echo $num_portable;?>
<? echo $date;?>
<? echo $status;?>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 déc. 2005, 12:15

Tu aurais passé plus de temps dans l'aide, tu aurais vu que la fonction mysql_num_rows retourne un tableau contenant les valeurs d'un enregistrement. Et donc :
- qu'il faut utiliser ce que te retourne cette fonction pour avoir les valeurs extraites
- que mysql_result(xxx , 0, xxx) te retournera toujours une valeur de la 1ere ligne
- que si tu fait ton affichage en dehors de la boucle, tu n'auras que la dernière ligne d'affichée

Essaye ce code et essaye de comprendre ce qui a changé
<?php
$connexion = mysql_connect('localhost','root','');// Connexion à la base de donnée
mysql_select_db('base_portable',$connexion)  or die('Erreur de selection '.mysql_error());
$requete = "SELECT * FROM detail LEFT JOIN staus on staus.id_status = detail.id_status  WHERE detail.id_status = '".$_POST['etat_portables']."' ";
$resultat = mysql_db_query('base_portable',$requete,$connexion) or die('Erreur de selection '.mysql_error()); // execution de la requete
mysql_close($connexion);// Fermeture de la connexion

while($rows = mysql_num_rows($resultat))
{
	$id_detail = $rows['id_detail'];
	$matricule = $rows['matricule'];
	$num_portable = $rows['num_portable'];
	$date = $rows['date'];
	$status = $rows['detail.id_status'];
	
	echo $id_detail."|".$matricule."|".$num_portable."|".$date."|".$status."<br />\n";
}
?>
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

micka
Invité n'ayant pas de compte PHPfrance

27 déc. 2005, 13:13

as tu volontairement glissé une erreur ?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 déc. 2005, 13:29

as tu volontairement glissé une erreur ?
pourquoi ? que dit l'erreur ?

as tu regardé la doc pour mysql_num_rows() ?!

tu y veras que c'est pas vraiment cette fonction qu'il faut utiliser mais mysql_fetch_row()
et dans ce cas faire le nécessaire pour les indices du tableau renoyé par cette fonction :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 déc. 2005, 14:44

as tu volontairement glissé une erreur ?
Non, c'est que je me suis mélangé les pinceaux entre mysql_fetch_array et mysql_num_rows
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

micka
Invité n'ayant pas de compte PHPfrance

27 déc. 2005, 14:49

merci je regarde les docs fetch_row et fetch array mais deja ca ne boucle plus à l'ifini.
merci les gars

micka
Invité n'ayant pas de compte PHPfrance

27 déc. 2005, 16:03

mon souci et resolo merci j'ai pigé le rol de fetch_array et de num_rows Merci.
[RESOLU]