par
Patriboom » 20 févr. 2008, 16:19
$selection_recherche = mysql_query("SELECT * FROM base_articles WHERE $valeur_requete ORDER BY id");
$nombre_resultats = mysql_num_rows($selection_recherche);
Jusqu'ici ça va.
Mais pourquoi cette seconde requête?
$sql= "SELECT * FROM base_articles WHERE DESCRIPTIONFRANCAISE='$selection_recherche'";
$req=mysql_query($sql)or exit ('Erreur SQL !'.$sql.'<br>'.mysql_error());
Maintenant, sachant que tu veux une page avec LE produit, préparons dès ici cette page.
Tu as produit une table de résultats complets (SELECT *). La quantité d'informations pourrait être limitée (SELECT id_produit, description ... ) aux seuls éléments utiles, mais c'est une autre discussion.
Indenter ton code serait aussi une bonne idée.
if ($nombre_resultats == 0) //si il n'y a pas de résultat {
echo 'aucun resultat.<a href="recherche.php">recommencer</a>';
} else {
echo 'nombre de résultats: ' . $nombre_resultats . '<br /><br />'; //nombre de résultats
while($resultats = mysql_fetch_array($selection_recherche) ) //boucle affichant les resultats
{
echo '<strong>Numero d\'article:</strong> ' .$resultats['id']. '<br />
<strong>Désignation:</strong> ' . $resultats['DESCRIPTIONFRANCAISE'] . '<br />
<strong>Référence:</strong> ' . $resultats['REFERENCE'] . '<br />
<strong>Specifications:</strong> ' . $resultats['SPECIFICATIONS'] . '<br />
<br />
<form method="post" action="recherche2.php">
<input type="hidden" value="'.$resultats['id'].'" name="id">
<input type="submit" value="commander" name="cder" />
</form>';
}
echo '<a href="recherche.php">recommencer</a>';
} //Fin du else
Pourquoi utiliser une formulaire pour chacun?
Je privilégierais les simples liens <a href> avec target="_blank" ou encre target="Formulaire_de_Commande" de la manière suivante: (à l'intérieur de la boucle WHILE comme tu as fais:
Code : Tout sélectionner
echo ' <a href="recherche2.php?id='.$resultats['id'].'" Target="_blank"><strong>Désignation:</strong> ' . $resultats['DESCRIPTIONFRANCAISE'] . '</a><br />
<strong>Référence:</strong> ' . $resultats['REFERENCE'] . '<br />
<strong>Specifications:</strong> ' . $resultats['SPECIFICATIONS'] . '<br />
';
Et pour la page recherche2.php, la recherche est simple et rapide. Voici à quoi peut ressembler son code:
Code : Tout sélectionner
<?php
$connexion = mysql_connect("localhost","root","") or exit("Erreur 101") ;
$db = mysql_select_db( "aviatec" , $connexion) or exit("Erreur 102") ;
$requete = "SELECT * FROM base_articles WHERE id = ".$_GET["id"];
while( $data=mysql_fetch_array($req) ) {
echo"<tr><td>".$data['DESCRIPTIONFRANCAISE']." </td><td> ";
echo $data['DESIGNATION']."</td>";
echo "<td> <a href='panier4_1.php?prod=".$data['id']."'>Détail+Cde</a></td></tr>";
}
Ce n'est pas complet, mais ça te donne des pistes.