Php/Mysql formule de recherche Mysqli

Résolu
Jefekoi Messages postés 52 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 7 avril 2019 - Modifié par Jefekoi le 1/11/2015 à 18:58
Jefekoi Messages postés 52 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 7 avril 2019 - 3 nov. 2015 à 17:25
Bonjour,

Je recherche une formule qui recherche dans la BD(Mysqli) si deux variable existent , je n'ai pas trouvé sur le net sauf les anciennes version qui ne sont plus valable pour la version PHP 5... Je ne suis pas un expert dans ce domaine:)

j'ai passé facilement 4 jours à chercher et à essayer.


if (($resultat->num_rows == $id_insc) and ($resultat->num_rows == $id_ent)) {echo "il exist déjà";exit;}


Merci beaucoup de votre aide .

Eric
A voir également:

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
3 nov. 2015 à 00:41
Bonjour,

Le code que tu nous montres ... c'est du PHP ..... hors... si tu fais une recherche dans ta BDD ... il faut le faire au niveau de ta requête SQL

PS: La fonction num_rows ....
num_rows -- Retourne le nombre de lignes dans un résultat

0
Jefekoi Messages postés 52 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 7 avril 2019
3 nov. 2015 à 13:52
Bonjour et merci à Jordane45,

Désolé pour le retard de ma réponse, j'ai trouvé la solution , c'est à mon avis une usine à gaz (je suis trop débutant).


include("includes/sql_connect.php");
$requete = "SELECT * FROM cv_envoye WHERE id_entreprise LIKE '$idEntreprise' and id_inscrit LIKE '$idInscrit'";
$resultat = $base->query($requete) or die ('Erreur '.$requete.' '.$base->error());
$n = $resultat->num_rows;
$base->close();
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
3 nov. 2015 à 15:46
Ce code là me semble très bien.
par contre ... si tu utilises des LIKE dans ta requête ... il faut le faire avec des caractères joker ( sinon..ça se comporte comme un EGAL ( = ) )

Donc par exemple :
$requete = "SELECT * 
                 FROM cv_envoye 
                 WHERE id_entreprise LIKE '%$idEntreprise%' 
                     AND id_inscrit ='%$idInscrit%'";;


Ou si c'est la valeur exacte que tu cherches (remplacer par les LIKE par des "=" )
$requete = "SELECT * 
                 FROM cv_envoye 
                 WHERE id_entreprise = '$idEntreprise' 
                     AND id_inscrit ='$idInscrit'";


Vu que tu sembles chercher sur des "ID" ... je pense donc que la deuxième syntaxe (avec des EGALES) est la plus juste.

Voilou.
0
Jefekoi Messages postés 52 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 7 avril 2019
3 nov. 2015 à 16:54
Oui merci jordane45 , oui j'avais vu ça, je l'utilise sur un moteur de recherche que je viens de faire aussi :)

SELECT * FROM Entreprise WHERE ville LIKE '$rubrique%' OR code_postal LIKE '$rubrique%' OR Nom LIKE '$rubrique%


j'ai mis le % volontairement et uniquement à la fin (dans la recherche il prend en compte le début du mot mais la fin il recherche au delà ).
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
3 nov. 2015 à 17:14
Par contre,
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0
Jefekoi Messages postés 52 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 7 avril 2019
3 nov. 2015 à 17:25
Cool, c'est magique merci pour ton aide ;)
0
Rejoignez-nous