[RESOLU] Souci de requête entre Mysql et Mysqli

Petit nouveau ! | 3 Messages

17 avr. 2019, 15:26

Bonjour à tous,

Je suis nouveau sur le forum et je viens m'adresser à vous pour un souci qui me bloque :
Il y a un bon moment, j'avais réalisé une page web pour de la vente de véhicules avec critères de recherche ; un ami m'avait aidé à ce moment là.

Ma connexion se faisait par Mysql_connect et là j'ai tout modifié pour le faire avec Mysqli ; tout estOK sauf pour mon critère de recherche ; je m'explique :
Avant j’avais cela qui fonctionnait bien :

Code : Tout sélectionner

$query = 'Select * from voitures '; $suite = ' WHERE '; if (isset($_POST["voitures"]) AND ($_POST["voitures"])) { $query .= $suite.'`marque` = "'.$_POST["voitures"].'" '; $suite = " AND "; } if (isset($_POST["km"]) AND ($_POST["km"])) { switch ($_POST["km"]) { case 1: $query .= $suite.'kilometrage< 20 '; $suite = " AND "; break; case 2: $query .= $suite.'(kilometrage < 5000)'; $suite = " AND "; break; case 3: $query .= $suite.'(kilometrage BETWEEN 5001 AND 10000)'; $suite = " AND "; break; case 4: $query .= $suite.'(kilometrage BETWEEN 10001 AND 20000)'; $suite = " AND "; break; case 5: $query .= $suite.'(kilometrage BETWEEN 20001 AND 30000)'; $suite = " AND "; break; case 6: $query .= $suite.'(kilometrage BETWEEN 30001 AND 40000)'; $suite = " AND "; break; case 7: $query .= $suite.'(kilometrage BETWEEN 40001 AND 50000)'; $suite = " AND "; break; case 8: $query .= $suite.'(kilometrage BETWEEN 50001 AND 60000)'; $suite = " AND "; break; case 9: $query .= $suite.'kilometrage> 60000 '; $suite = " AND "; break; } }
Des liste déroulantes en HTML m'affichaient le contenu et en choisissant par exemple un kilométrage, un bouton me permettait d'afficher le résultat en fonction du choix.

Sauf que maintenant cela ne fonctionne plus et je pense que cela est du à ma requête qui doit s'écrire différemment avec Mysqli.

Je ne sais pas si j'ai été assez clair et si mon souci est bien posé...

Un grand merci d'avance.

Bon après-midi à vous

Chris

Mammouth du PHP | 1105 Messages

17 avr. 2019, 15:29

non, pas de différence entre mysql et myqsli sur ce point.

Petit nouveau ! | 3 Messages

17 avr. 2019, 15:43

Merci pour la réponse ; je suis quand même un peu surpris car si je me connecte avec mysql, tout fonctionne et j'affiche le résultat de mon choix et si je me connecte en utilisant mysqli, quand j'appuie sur mon bouton pour afficher mon choix, il ne se passe rien...

Je pensais donc que le souci venait de l'écriture de

Code : Tout sélectionner

$query .= $suite.'`marque` = "'.$_POST["voitures"].'" '; $suite = " AND ";
Mais bon, c'est sûrement que le souci est ailleurs.... je vais continuer de chercher.

Merci

Petit nouveau ! | 3 Messages

17 avr. 2019, 16:56

Merci or 1, tu avais raison ; en reprenant mon code complet, je me suis aperçu que je relançais une deuxième fois ma requête

Code : Tout sélectionner

SELECT * FROM voitures;
Et donc, cela m'annulait mon filtre.
Tout est OK maintenant.

Merci encore