Auteur Sujet: Recherche Dans Une Ligne De Tableau...  (Lu 5492 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne NaJ

  • Connaisseur
  • ***
  • Messages: 354
    • http://photo.pyrollo.com
Recherche Dans Une Ligne De Tableau...
« Réponse #15 le: 07 juillet 2004 à 17:14:36 »
Le problème avec $requete2, c'est que quand tu définis $requete2, la variable $NomCarteVO ne contient rien. Fait un "echo $requete2" juste après le "$requete2 =" et tu comprendras.
www.traque-aux-plaques.com

Collection de photos de plaques et regards de chaussée

http://photo.pyrollo.com

Photos de balades

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #16 le: 07 juillet 2004 à 17:57:36 »
Si j'utilise uniquement la 2eme requete, ca ne donne rien, car ls variable dans la requete ne sont pas définient...

je veux juste faire afficher les données de la ligne de la table où se trouve le nom de la carte correspondante...

Si le nom saisi dans le moteur de rechere = un nom existant dans la table, alors on affiche les critères correspondant à ce nom...

C'est pour un site de carte à jjouer Magic marvel etc... un nom de carte correspond à un type de jeu, une carctéristiqye1 (couleur), une caractéristique2, une extension, en francais, en anglais, etc....
Je veux donc afficher tout ca selon le nom de la carte saisi...

Hors ligne NaJ

  • Connaisseur
  • ***
  • Messages: 354
    • http://photo.pyrollo.com
Recherche Dans Une Ligne De Tableau...
« Réponse #17 le: 07 juillet 2004 à 18:11:17 »
Alors je te confirme ce que je disais plus haut, ton script ne doit comporter qu'une seule requête, dans laquelle il y a une clause where du style "where monchamp = $mavaleurrecherchee".
www.traque-aux-plaques.com

Collection de photos de plaques et regards de chaussée

http://photo.pyrollo.com

Photos de balades

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #18 le: 07 juillet 2004 à 18:34:34 »
ok...
Donc d'après le script, ce que tu appels $mavaleurchercher correspond à $rechercher qui est égal à $_POST['RECHERCHER']

C'est ce que j'avais fait au tout debut, mais au debut $rechercher est vide... donc ca ne fonctionnait pas...

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #19 le: 07 juillet 2004 à 18:56:20 »
J'ai reremodifier le script de cette manière, avec une seule requete :
 
Citer
if(isset($_POST['VALIDER'])){


  $rechercher = $_POST['RECHERCHER'];


  //$requete = "SELECT  NomCarteVO FROM Produit";
  //$NomVO = mysql_query($requete) or die ("recherche impossible" . mysql_error());

  $carte = mysql_query("SELECT TypeJeu, ExtensionVO, ExtensionVF, NomCarteVO, NomCarteVF,
       Carac1, Carac2, FrequenceExtension, TexteCarteVO, TexteCarteVF FROM Produit WHERE
       NomCarteVO = '$rechercher'") or die ("Selection impossible" . mysql_error());


    while ($row = mysql_fetch_row($carte)) {
       for ($i=0;$i<count($row);$i++) {
       while ($tableau= mysql_fetch_assoc($Carte)) {

                echo $tableau['NomCarteVO'];
         echo $tableau['NomCarteVF'];
          echo $tableau['TypeJeu'];
             echo $tableau['ExtensionVO'];
         echo $tableau['ExtensionVF'];
         echo $tableau['Carac1'];
         echo $tableau['Carac2'];
         echo $tableau['FrequenceExtension'];
         echo $tableau['TexteCarteVO'];
         echo $tableau['TexteCarteVF'];

           mysql_free_result($Carte);

       }
       }
    }
}

J'ai une erreur maintenant bien connu :P :
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/kriss/public_html/sitecartes/script/recherche9.php on line 78

Cette erreur ce répète 10 fois, ce qui correspond au nombre d'élément que la recherche est censé afficher...
Je pense ne pas être loin de la solution, mais je ne comprend vraiment pas à quoi est dû l'erreur...
« Modifié: 07 juillet 2004 à 19:00:32 par sayoc »

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Recherche Dans Une Ligne De Tableau...
« Réponse #20 le: 07 juillet 2004 à 19:11:13 »
mysql_fetch_assoc($Carte))

Tu as écris $Carte , avec un C majuscule au lieu de minuscule

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Recherche Dans Une Ligne De Tableau...
« Réponse #21 le: 07 juillet 2004 à 19:12:29 »
De même pour mysql_free_result($Carte);

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #22 le: 07 juillet 2004 à 19:16:27 »
C'est vrai... B)

Maintenant je n'est plus d'erreur, mais la recherche n'aboutit à rien...

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Recherche Dans Une Ligne De Tableau...
« Réponse #23 le: 07 juillet 2004 à 19:22:22 »
Essaie de voir ce que donne ta requete :
au lieu de :
 $carte = mysql_query("SELECT TypeJeu, ExtensionVO, ExtensionVF, NomCarteVO, NomCarteVF,
    Carac1, Carac2, FrequenceExtension, TexteCarteVO, TexteCarteVF FROM Produit WHERE
    NomCarteVO = '$rechercher'") or die ("Selection impossible" . mysql_error());

tu fais :
$sql = "SELECT TypeJeu, ExtensionVO, ExtensionVF, NomCarteVO, NomCarteVF,
    Carac1, Carac2, FrequenceExtension, TexteCarteVO, TexteCarteVF FROM Produit WHERE
    NomCarteVO = '$rechercher'";
echo $sql;
 $carte = mysql_query($sql) or die ("Selection impossible" . mysql_error());


Et tu verras ce qu'il t'affiche.

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #24 le: 07 juillet 2004 à 19:29:57 »
alors...
Ca m'affiche :

Citer
Connexion au serveur réussie.
Connexion à la base réussi ! &nbspSELECT TypeJeu, ExtensionVO, ExtensionVF, NomCarteVO, NomCarteVF, Carac1, Carac2, FrequenceExtension, TexteCarteVO, TexteCarteVF FROM Produit WHERE NomCarteVO = 'Aven Flock'

Donc apparemment la requete est bonne, car  'Aven Flock' est le nom de la carte saisi dans le moteur de recherche...

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Recherche Dans Une Ligne De Tableau...
« Réponse #25 le: 07 juillet 2004 à 19:38:00 »
Et dans ta table Produit, tu as bien Aven Flock mot à mot, sans aucun autre mot en plus correspondant au champ NomCarteVO ?

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #26 le: 07 juillet 2004 à 19:43:09 »
oui, car c'est un copier/coller du nom existant dans la table...

je viens d'essayer autrement :
Citer
while ($row = mysql_fetch_row($carte)) {
       for ($i=0;$i<count($row);$i++) {
      while ($tableau= mysql_fetch_row($carte)) {
         for ($i=0;$i<count($tableau);$i++) {
        echo $tableau[$i];
à la place d'un mysql_fetch_assoc, mais sans succès...  :(

Aucune erreur mais pas de résultat...

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Recherche Dans Une Ligne De Tableau...
« Réponse #27 le: 07 juillet 2004 à 19:51:14 »
Essaie peut être :

if(isset($_POST['VALIDER'])){


  $rechercher = $_POST['RECHERCHER'];


  //$requete = "SELECT  NomCarteVO FROM Produit";
  //$NomVO = mysql_query($requete) or die ("recherche impossible" . mysql_error());
$sql = "SELECT TypeJeu, ExtensionVO, ExtensionVF, NomCarteVO, NomCarteVF,
    Carac1, Carac2, FrequenceExtension, TexteCarteVO, TexteCarteVF FROM Produit WHERE
    NomCarteVO LIKE '%".$rechercher."%'";
echo $sql;
  $carte = mysql_query($sql) or die ("Selection impossible" . mysql_error());
$nb_result = mysql_num_rows($carte);
for ($i=0;$i<$nb_result;$i++)
{
echo mysql_result($carte,$i,'TypeJeu');
echo mysql_result($carte,$i,'ExtensionVO');
echo mysql_result($carte,$i,'ExtensionVF');
echo mysql_result($carte,$i,'NomCarteVO');
echo mysql_result($carte,$i,'NomCarteVF');
echo mysql_result($carte,$i,'Carac1');
echo mysql_result($carte,$i,'Carac2');
echo mysql_result($carte,$i,'FrequenceExtension');
echo mysql_result($carte,$i,'TexteCarteVO');
echo mysql_result($carte,$i,'TexteCarteVF');
}
mysql_free_result($carte);


}

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #28 le: 07 juillet 2004 à 20:01:50 »
OUUEEEEE CA MARCHE !!!

Merci beaucoup, c'est fraiment génial, suis trop content, ca faisait 3 jours que je galérais sur ce problème !

Encore une fois, merci beaucoup !
 :D  :D  :D  :D  :D    :lol:  :lol:  :lol:    ;)  ;)  ;))  B)  B)  B)  

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Recherche Dans Une Ligne De Tableau...
« Réponse #29 le: 07 juillet 2004 à 20:06:04 »
Ca peut encore s'améliorer :
par exemple , si tu fais une recherche sur Aven Flock, on peut faire une recherche sur les 2 mots et non sur la phrase entière.