par
sadeq » 11 janv. 2006, 17:10
C'est la requête SQL qui normalement doit changer selon est-ce que c'est une recherche par name ou produit.
if ($_POST[name])
$SQL = "SELECT * FROM recherche WHERE nom LIKE '". $_POST[name] ."%'";
else
$SQL = "SELECT * FROM recherche WHERE produit LIKE '". $_POST[produit] ."%'";
Ce qui va simplifier considérablement ton programme puisque d'après ce qu'on voit dans ton PHP, le même code se répète deux fois.
Il suffit d'un seul bloc d'affichage.
Simplification : (Attention j'ai viré des lignes ne se rapportant pas au sujet)
<?php
include('connexion.php');
if ($_POST[name]) {
$SQL = "SELECT * FROM recherche WHERE nom LIKE '". $_POST[name] ."%'";
$h = $_POST[name];
}
else {
$SQL = "SELECT * FROM recherche WHERE produit LIKE '". $_POST[produit] ."%'";
$h = $_POST[produit];
}
echo $date;
echo "<BR><BR><BR>\n";
echo "Vous recherchez le id <EM>$h</EM>.\n";
echo "<BR><BR>\n";
$result = mysql_query($SQL) or die("La requête <BR><PRE>$SQL</PRE>a échoué : ".mysql_error());
//j'ai defini une variable $i pour afficher 5 enregistremnt par ligne
echo "<TABLE border =\"0\" width=\"100%\" CELLPADDING=\"0\" cellspacing=\"0\">";
//initialiser la variable $i a 0
$i=0;
while($row = mysql_fetch_row($result))
{
if ($i==0)
{
echo "<TR>";
}
//on incremente la variable
$i=$i+1;
//$row[numero du champ a afficher]
echo " <br>$row[1] <br><br>$row[2]<br><br> $row[3]<br><br> $row[4]<br><br> $row[5]<br><br> $row[6]<br><br> <i><b><u>Produits :</i></b></u>$row[7]</td>";
if ($i==5)
{
echo "</TR>";
$i=0;
}
}
echo"</table>";
?>
C'est la requête SQL qui normalement doit changer selon est-ce que c'est une recherche par name ou produit.
[php]
if ($_POST[name])
$SQL = "SELECT * FROM recherche WHERE nom LIKE '". $_POST[name] ."%'";
else
$SQL = "SELECT * FROM recherche WHERE produit LIKE '". $_POST[produit] ."%'";
[/php]
Ce qui va simplifier considérablement ton programme puisque d'après ce qu'on voit dans ton PHP, le même code se répète deux fois.
Il suffit d'un seul bloc d'affichage.
Simplification : (Attention j'ai viré des lignes ne se rapportant pas au sujet)
[php]
<?php
include('connexion.php');
if ($_POST[name]) {
$SQL = "SELECT * FROM recherche WHERE nom LIKE '". $_POST[name] ."%'";
$h = $_POST[name];
}
else {
$SQL = "SELECT * FROM recherche WHERE produit LIKE '". $_POST[produit] ."%'";
$h = $_POST[produit];
}
echo $date;
echo "<BR><BR><BR>\n";
echo "Vous recherchez le id <EM>$h</EM>.\n";
echo "<BR><BR>\n";
$result = mysql_query($SQL) or die("La requête <BR><PRE>$SQL</PRE>a échoué : ".mysql_error());
//j'ai defini une variable $i pour afficher 5 enregistremnt par ligne
echo "<TABLE border =\"0\" width=\"100%\" CELLPADDING=\"0\" cellspacing=\"0\">";
//initialiser la variable $i a 0
$i=0;
while($row = mysql_fetch_row($result))
{
if ($i==0)
{
echo "<TR>";
}
//on incremente la variable
$i=$i+1;
//$row[numero du champ a afficher]
echo " <br>$row[1] <br><br>$row[2]<br><br> $row[3]<br><br> $row[4]<br><br> $row[5]<br><br> $row[6]<br><br> <i><b><u>Produits :</i></b></u>$row[7]</td>";
if ($i==5)
{
echo "</TR>";
$i=0;
}
}
echo"</table>";
?>
[/php]