Affichage avec un WHERE

Fermé
mickaelm30 Messages postés 218 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 4 mai 2011 - 2 juin 2009 à 10:30
Ozimandias Messages postés 502 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 10 mars 2010 - 2 juin 2009 à 12:11
Bonjour,
J'ai besoin d'un peu de votre temps et de toute votre gnetillesse pour résoudre ce souci :)

voici mon code en détail(ne prenez pas peur^^)

//début du code et affichage du select avec liste déroulante//

Choisissez le type de matériel que vous désirez : <select id="listetype" name="typeprod">
<option value="defaut">--Choisissez le type--</option>

<?php

mysql_connect("localhost","root","") or die("Erreur de connexion sur mysql.");
mysql_select_db("see-inf") or die ("Erreur de connexion sur la base.");
$req1 = mysql_query("SELECT nomtype FROM typeprod");


while($ligne=mysql_fetch_assoc($req1))
echo '<option value="'.$ligne['nomtype'].'">'.$ligne['nomtype'].'</option>';

mysql_close();

?>

</select> <input type=submit name=valider value=ok>

//fin de l'affichage du select//

//début de la requête permettant d'afficher les produits du type selectionnés//
<?php
//connexion à mysql
mysql_connect("localhost", "root", "") or die ("Erreur de connexion sur mysql.");
mysql_select_db("see-inf") or die ("Erreur de connexion sur la base.");

$type=$_POST['typeprod'];
$req2=mysql_query("SELECT numprod, nomprod, prixprod, duréegarantie, nomtype FROM produit where nomtype='$type' order by numprod");

?>
<?php
echo "<p align=center><table border=1><tr><TH align='center'>NumProd</TH><TH align='center'>NomProd</TH>
<TH align='center'>PrixProd</TH><TH align='center'>DuréeGarantie</TH>
<TH align='center'>NomType</TH></tr><tr>" ; ?>

<?php
while($donnees=mysql_fetch_assoc($req2))

{
?>


<td><?php echo $donnees['numprod'];?></td>
<td><?php echo $donnees['nomprod'];?></td>
<td><?php echo $donnees['prixprod']."euros"; ?></td>
<td><?php echo $donnees['duréegarantie']."ans"; ?></td>
<td><?php echo $donnees['nomtype']; ?></td></tr></p><br />

<?php
}

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

//fin du code//

9 réponses

Ozimandias Messages postés 502 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 10 mars 2010 46
2 juin 2009 à 10:39
OK, mais quel est ton soucis?

Tu ne le mentionne pas...
0
mickaelm30 Messages postés 218 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 4 mai 2011 12
2 juin 2009 à 10:42
Je veux qu'en choisissant un nom de type dans ma liste déroulante, lorsque j'appuis sur le bouton "OK", cela affiche tout les produit de ma base de donnée dont le nom de type et le meme que celui choisi dans ma liste déroulante.
0
Ozimandias Messages postés 502 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 10 mars 2010 46
2 juin 2009 à 11:06
ok, essaye ça: Attention à ne pas oublier la } en bas...


<form name="toto" action="?action=afficher" method="post">
<select name="type">
<?php

mysql_connect("localhost","root","") or die("Erreur de connexion sur mysql.");
mysql_select_db("see-inf") or die ("Erreur de connexion sur la base.");
$req1 = mysql_query("SELECT nomtype FROM typeprod");


while($ligne=mysql_fetch_assoc($req1))
echo '<option value="'.$ligne['nomtype'].'">'.$ligne['nomtype'].'</option>';

mysql_close();

?>

</select> <input type=submit name=valider value=ok>
</form>

//fin de l'affichage du select//

//début de la requête permettant d'afficher les produits du type selectionnés//
<?php
if ((isset ($_GET['action']))&&($_GET['action']=='afficher')){
//connexion à mysql
mysql_connect("localhost", "root", "") or die ("Erreur de connexion sur mysql.");
mysql_select_db("see-inf") or die ("Erreur de connexion sur la base.");

$type=$_POST['typeprod'];
$req2=mysql_query("SELECT numprod, nomprod, prixprod, duréegarantie, nomtype FROM produit where nomtype='.$_POST['type'].' order by numprod");

?>
<?php
echo "<p align=center><table border=1><tr><TH align='center'>NumProd</TH><TH align='center'>NomProd</TH>
<TH align='center'>PrixProd</TH><TH align='center'>DuréeGarantie</TH>
<TH align='center'>NomType</TH></tr><tr>" ; ?>

<?php
while($donnees=mysql_fetch_assoc($req2))

{
?>


<td><?php echo $donnees['numprod'];?></td>
<td><?php echo $donnees['nomprod'];?></td>
<td><?php echo $donnees['prixprod']."euros"; ?></td>
<td><?php echo $donnees['duréegarantie']."ans"; ?></td>
<td><?php echo $donnees['nomtype']; ?></td></tr></p><br />

<?php
}
}
mysql_close(); // Déconnexion de MySQL
?> 
0
mickaelm30 Messages postés 218 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 4 mai 2011 12
2 juin 2009 à 11:21
Merci bien, voici l'erreur renvoyé : Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\tests\composants.php on line 114


la ligne ou il y a ce porbleme : $req2=mysql_query("SELECT numprod, nomprod, prixprod, duréegarantie, nomtype FROM produit where nomtype='.$_POST['type'].' order by numprod");

je vois pas trop la .
0

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

Posez votre question
Ozimandias Messages postés 502 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 10 mars 2010 46
2 juin 2009 à 11:24
Pardon... ;)

c'était des " et pas des ':

$req2=mysql_query("SELECT numprod, nomprod, prixprod, duréegarantie, nomtype FROM produit where nomtype=".$_POST['type']." order by numprod");
0
mickaelm30 Messages postés 218 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 4 mai 2011 12
2 juin 2009 à 11:33
-Ah oui ça affiche la liste déroulante mais une nouvelle erreur apparaît.

Warning: mysql_close(): no MySQL-Link resource supplied in C:\wamp\www\tests\composants.php on line 138

ligne 138: mysql_close(); // Déconnexion de MySQL

-Et lorsque j'appuis sur "ok" après avoir sélectionné un type : Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\wamp\www\tests\composants.php on line 123

ligne 123 : while($donnees=mysql_fetch_assoc($req2))


si tu peux m'aider encore un peu plizz :D
0
Ozimandias Messages postés 502 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 10 mars 2010 46
2 juin 2009 à 11:50
ligne 123 : while($donnees=mysql_fetch_assoc($req2))
=> ligne 123 : while($donnees=mysql_fetch_array($req2))

while($ligne=mysql_fetch_assoc($req1))
echo '<option value="'.$ligne['nomtype'].'">'.$ligne['nomtype'].'</option>';

mysql_close();

vire ce mysql_close
0
mickaelm30 Messages postés 218 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 4 mai 2011 12
2 juin 2009 à 11:56
l'erreur de la ligne 123 reste , l'autre a disparu:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\tests\composants.php on line 123


ligne 123: while($donnees=mysql_fetch_array($req2))


merci pour ton aide au passage ;)
0
Ozimandias Messages postés 502 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 10 mars 2010 46
2 juin 2009 à 12:11
Essaye:

$linkdb = mysql_connect("localhost", "root", "") or die ("Erreur de connexion sur mysql.");
mysql_select_db("see-inf") or die ("Erreur de connexion sur la base.");

$type=$_POST['typeprod'];
$req2=mysql_query("SELECT numprod, nomprod, prixprod, duréegarantie, nomtype FROM produit WHERE nomtype=".$_POST['type']." ORDER BY numprod", $linkdb);


il faut aussi que tu vérifies ta requete...
0