bonsoir,
alors voilà, j'ai une base de donnée qui contient des produits
et j'ai une page de modification de produit
en entête de cette page, j'ai une sorte de "moteur de recherche" de produit, basé sur deux critères, ou bien la référence du produits, ou bien le libellé (nom) du produit
voici le code de cette page de modification :
<?php
// Recherche par réf ////////////////////////////////////////////////////////////
$id = $_GET ['id'] ;
if (!empty($_POST['search_art_id'])) {
$search = $_POST['search_art_id'];
$req_search = mysql_query("SELECT produits.ref AS ref_article, produits.id AS id_article, libelle, ref_fourn, photo, marque, tarifs.promotion, tarifs.PVTTC
FROM produits
LEFT JOIN tarifs
ON produits.id=tarifs.id_art
WHERE produits.ref=$search");
$res_search = mysql_fetch_object($req_search);
$ref = $res_search->ref;
$libelle = $res_search->libelle;
$id_art_formate = sprintf($search);
}
?>
voilà et en fonction de ma recherche par réf, il me sort en dessous le produit concerné :)
voici le code de ma page search_id.inc.php (page inclue en entete de ma page de modification):
<h3>Rechercher par :</h3>
<div class="txt">
<div style="width:20px; float:left;"> </div>
<form action="<?= $page ?>" name="search" method="post">
<div style="width:100px; float:left;">
<label for="search_id">Référence :</label><br />
<input type="text" name="search_art_id" style="width: 80px" onfocus="this.value=''; document.search.search_art_lib.value='';"
<? if (isset($_POST['search_art_id'])) echo "value=\"".$_POST['search_art_id']."\""; ?>>
</div>
<div style="width:220px; float:left;">
<label for="search_lib">Libellé :</label><br />
<input type="text" name="search_art_lib" style="width: 200px" onfocus="this.value=''; this.form.search_art_id.value='';"
<? if (!empty($_POST['search_art_id'])) echo "value=\"$libelle\""; ?>>
</div>
<div style="width:80px; float:left;"><br />
<input type="submit" name="search_val" value="OK" style="width: 40px">
</div>
</form>
</div>
</div>
on va s'intérésser pour l'instant à la recherche par référence !
en fait, si je recherche une référence numérique , par exemple 12 ou 255 ou 124852, ça fonctionne (si le produit existe, sinon il me dit qu'il ya pas de produit avec cette réf),
mon soucis est dés que je met du texte dans la réf, genre je veux chercher tc001 (présent dans la base), là il me dit produit introuvable, et au dessus, j'ai une erreur php qui dit :
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in modif.php on line 29
et ma ligne 29 c'est celle ci :
$res_search = mysql_fetch_object($req_search);
alors je comprend pas,
et je suis embété parce que j'ai pleins de réf produit avec des lettres !!
si quelqu'un a une idée ....
merci ;)