Votre question

syntaxe while sql/php

Tags :
  • MySQL
  • Programmation
Dernière réponse : dans Programmation
1 Mars 2006 15:20:54

Salut a vous,

bon je suis mauvais en prog, lorsque je souhaite afficher des résultats avec une grosse requete, il y a des résultats qui s'affichent en double, pour remédier a cela, je souhaiterai à l'aide de plusieurs requetes afficher mes résultats comme il suit :

<?php
mysql_connect("localhost", "admin", "admin"); // Connexion à MySQL
mysql_select_db("ocsweb"); // Sélection de la base ocsweb

$reponse = mysql_query("SELECT * FROM bios, hardware Where bios.deviceid=hardware.deviceid Order by namec"); // Requête SQL
$requete = mysql_query("SELECT * FROM videos, networks Where videos.deviceid=networks.deviceid")
/*SELECT * FROM bios, hardware, videos, networks Where bios.deviceid=hardware.deviceid And hardware.deviceid=videos.deviceid And videos.deviceid=networks.deviceid Order by namec"*/
?>
<div class="table" align="center">
<table class="tableListing" summary=" " cellspacing="0" cellpadding="3" border="1">
<tr>
<td>Nom machine</td>
<td>Utilisateur</td>
<td>Adresse IP</td>
<td>Numéro de série</td>
<td>Processeur</td>
<td>Carte vidéo</td>
<td>Carte réseau</td>
<td>Fabricant</td>
<td>Mémoire</td>
</tr>
</div>
<?php
while ($donnees = mysql_fetch_array($reponse,$requete))
{
echo "<tr>";
echo " <td class='tonStyleDeCellule'>".$donnees['NAMEC']."</td>" ;
echo " <td class='tonStyleDeCellule'>".$donnees['USERID']."</td>" ;
echo " <td class='tonStyleDeCellule'>".$donnees['IPADDR']."</td>" ;
echo " <td class='tonStyleDeCellule'>".$donnees['SSN']."</td>" ;
echo " <td class='tonStyleDeCellule'>".$donnees['PROCESSORS']."</td>" ;
echo " <td class='tonStyleDeCellule'>".$donnees['NAME']."</td>" ;
echo " <td class='tonStyleDeCellule'>".$donnees['DESCRIPTION']."</td>" ;
echo " <td class='tonStyleDeCellule'>".$donnees['SMANUFACTURER']."</td>" ;
echo " <td class='tonStyleDeCellule'>".$donnees['MEMORY']."</td>" ;
echo "</tr>";
}
?>


Le problème vient du while ($donnees = mysql_fetch_array($reponse,$requete))

Je sais pas si on peut mettre plusieurs variable ds le while, merci de m'aider

Autres pages sur : syntaxe while sql php

10 Mai 2009 19:09:30

En faite ton probleme vient de ta requete, fait un echo $requete; puis test l'affichage de l'echo en sql dans ta base.
10 Mai 2009 19:33:16

Si tu vas voir la doc php, tu remarqueras que mysql_fetch_array, ne prend qu'une seul ressource en paramètres.

Il faut donc que tu fasses 2 boucles.


3 petits conseils :
- rajoute des close LIMIT à tes requêtes SQL, car d'ici quelques temps tu pourrais récupérer beaucoup beaucoup d'élement.
- au lieu d'* liste plutôt l'ensemble des champs que tu utilises, car d'ici quelques temps tu récupéreras sans doute des variables inutiles, ton code sera lent pour rien.
- utilise plutôt mysql_fetch_assoc que fetch_array, car fetch_array est la combinaison de mysql_fetch_row et mysql_fetch_assoc, autant utiliser l'un ou l'autre.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS