IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requête liée à une recherche. [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Points : 22
    Points
    22
    Par défaut Requête liée à une recherche.
    Bonjour tout le monde

    Je viens vers vous car j'ai un soucis un peu particulier. D'un coté j'ai une recherche par mot clef qui fonctionne (testé lors d'une recherche sur la table) et de l'autre coté j'ai ma requête pour lier 3 tables qui fonctionne (je l'ai testé sur HEIDISQL).

    Maintenant j'aimerais que ma recherche de mot clef fonctionne avec ma requête de mes 3 Tables afin de pouvoir effectué ma recherche correctement.

    Car pour le moment ma recherche de mot clef fonctionne pour une seule table.

    Avez-vous une idée?


    Mes tables sont faites de la façon suivante :

    Table 1 : contact
    Champs : nom / prenom / numero / interaction

    Table 2 : interaction
    Champs: nom/ commentaire / reponse / date / lieux

    Table 3: loge
    Champs : numero / adresse / ville / region / pays

    Table contact est ma table qui permet le lien des 3 tables entre-elles.


    Voici ma requête pour affiché mes 3 tables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            $requete=$bdd->prepare("SELECT  c.*, i.*, l.* FROM contact c
    					              LEFT OUTER JOIN  interaction i ON 'c.nom='i.nom'
                                                          LEFT OUTER JOIN loge l ON 'c.numero='l.numero'
    					              WHERE 'c.prenom' LIKE '%%' AND 'c.numero' AND 'l.adresse' 
    					              ORDER BY 'i.nom' DESC"); 
     
    	$requete->execute();
    Voici ma requête pour les mots clefs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
     
    form method="post"> 
     
    	<?php
    	    $tables_req = $bdd->query("SHOW TABLES;");
    	    $lignes_tables = $tables_req->fetchAll();
     
    	    foreach($lignes_tables as $ligne) { ?>
    		<!-- Correspond a la requête pour afficher les tables -->
     
    	    <input  id="choix" type='submit' name='valider' value='<?php echo ucfirst($ligne[ 0 ]); ?>'> <!-- Correspond aux boutons des tables -->
     
        <?php } ?>
    </form>
     
     
    <form method="post" class="motclefs">  <!-- Formulaire pour permettre la recherche par mot clef  -->
     
    <br>
    <table>
     
    	<td>
                   <tr> <!--NOM -->
    			<label for="search">Recherche par le nom</label>
            		<input id="name" type="text" name="nom">
                 </tr>
                 <br><br>
     
     
    	    <tr> <!--ID -->
    			<label for="search">Recherche par Prénom</label>
    	      		<input id="firstname" type="text" name="Prenom">
    	    </tr>
    	    <br>
     
     
    		<tr> <!--CODE Interaction-->
    			<label for="search">Recherche par Interaction</label>
    	        	<input id="inter" type="text" name="interaction">
    	    </tr>
    	    <br>
     
    		<tr> <!--CODE Number -->
    			<label for="search">Recherche par le Numéro</label>
    	        	<input id="number" type="text" name="numero">
            </tr>
            <br
     
    		<tr>
    	        <input type="submit" name="search" value="Rechercher">
    	        	<input type="submit" name="reset" value="Réinitialiser">
    	    </tr>
    	    <br>
     
    	</td>
    </table>
    </form>
     
    <?php
     
    if(isset($_POST['valider'])){
    		$_SESSION['table']=$_POST['valider'];
    }
     
    if(isset($_SESSION['table'])){
     
    	if(isset($_POST['Sup'])){
    		$id=$_POST['id'];
    		$supprimer = $_POST['Sup'];
    			try{ $bdd->query("DELETE FROM ".$_SESSION['table']. " WHERE id_".$_SESSION['table']. "=".$id);
    			}catch(PDOException  $e ){
    				echo "Error: ".$e;
    			}
    	} 
    	// Ceci est l'action pour supprimer la ligne d'une table
     
     
     
    	if(isset($_POST['Modif'])){
    		$id=$_POST['id'];
    		$modifier = $_POST['Modif'];
    		$preparation=""; 
    		foreach ($_POST as $clef => $value) {
    			if ($clef !='valider' && $clef != 'Modif' && $clef !='id'){
    				$preparation=$preparation.$clef.'="'.$value.'",';
    			}
     
    		}
    		$preparation = substr($preparation, 0, -1);
    		$modifier=$bdd->query("UPDATE ".$_SESSION['table']. " SET ".$preparation. " WHERE id_".$_SESSION['table']. "=".$id);
    	}
    	// Ceci est l'action pour modifier la ligne d'une table
     
    	if(isset($_POST['Envoyer'])){
    		$preparation="";
    		$insert="";
    		foreach ($_POST as $clef => $value) {
    			if ($clef !='valider' && $clef != 'Modif' && $clef !='id' && $clef !='Envoyer' && $clef !='"_$j_"' ){
    				$insert=$insert.$clef.",";
    				$preparation=$preparation."'".$value."',";
    			}
    		}
    		$preparation = substr($preparation, 0, -1);
    		$insert = substr($insert, 0, -1);
    		$ajouter=$bdd->query('INSERT INTO '.$_SESSION['table'].'('.$insert.') VALUES('.$preparation.')');
     
            echo "<h1>".$_SESSION['table']."</h1>";
    	echo "<table>";
    Donc pour que ca fonctionne pour une table j'ai fait comme ceci avec les champs de ma table :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
     
    $entete=$bdd->query("SHOW COLUMNS FROM ".$_SESSION['table']);
    		echo "<tr>";
    	$enteteELT=$entete->fetchAll();
     
    	for($x=0 ; $x<sizeof($enteteELT) ; $x++){
    		echo '<th>'.$enteteELT[$x]['Field']. '</th>';
    	}
    		echo "</tr>";
     
    		//Champ 1 = Nom
     
             if(!empty($_POST['nom'])){
            	$_SESSION['nom']="%".$_POST['nom']."%";
            }
            if(empty($_SESSION['nom'])) {
            	$_SESSION['nom']="%%"; // Permet d'avoir tous les résultats su aucune recherche n'a été effectuée 
            }
     
    				//Champ 2 = Prenom
     
            if(!empty($_POST['prenom'])){
            	$_SESSION['prenom']="%".$_POST['prenom']."%";
            }
            if(empty($_SESSION['prenom'])){
            	$_SESSION['prenom']="%%"; 
            }
     
            		//Champ 3 = Interaction
     
            if(!empty($_POST['interaction'])){
            	$_SESSION['interaction']="%".$_POST['interaction']."%";
            }
            if(empty($_SESSION['interaction'])){
            	$_SESSION['interaction']="%%"; 
            }
     
            		//Champ 4 = Numéro
     
            if(!empty($_POST['numero'])){
            	$_SESSION['numero']="%".$_POST['numero']."%";
            }
     
            if(empty($_SESSION['numero'])){
            	$_SESSION['numero']="%%";
            }
     
     
     
            if(isset($_POST['reset'])){
    		    $_SESSION[nom]="%%"; 
    		    $_SESSION['prenom']="%%";
    		    $_SESSION['interaction']="%%";
    		    $_SESSION['numero']="%%";
    		  }
     
     
            		//Permet d'envoyer les requêtes (ancienne requête, une table )
     
            	$requete=$bdd->prepare('SELECT * FROM contact WHERE nom LIKE :nom AND prenom LIKE :prenom AND interaction LIKE :interaction  AND  numero LIKE :numero' );
    //C'est à cette endroit que j'ai essayer de mettre ma requête de jointure des 3 tables mais ça ne fonctionne pas.
     
             	$requete->bindValue(':nom'  ,$_SESSION['nom']);
             	$requete->bindValue(':prenom ',$_SESSION['prenom']);
             	$requete->bindValue(':interaction' ,$_SESSION['interaction']);
             	$requete->bindValue(':numero' ,$_SESSION['numero']);
     
    			$requete->execute();
     
     
    	while($requeteELT=$requete->fetch(PDO::FETCH_ASSOC)){
    		echo "<tr>";
    		echo '<form method="POST" action="index.php">';
    		$nb_colonne=0;
    		foreach ($requeteELT as $clef => $valeur) {
    			$nb_colonne++;			if (substr($clef, 0, 3)=='id_'){
    				echo "<td>".$valeur.'</td>
    				<input type="hidden" NAME="id" value="'.$valeur.'"/>';
    			}
    			else {
    				echo "<td> <input TYPE='text' NAME='".$clef."' value='".$valeur."'></td>";
    			}
    		}
     
    // boucle while qui permet la récupération de données des tables 
     
    		echo '<td>
    		<input type="hidden" NAME="valider" VALUE="'.$_SESSION['table'].'"/>
    		<input TYPE="submit" NAME="Modif" VALUE="Modifier"/>
    		<input TYPE="submit" NAME="Sup" VALUE="Supprimer"/> 
    		</td>'; // Ces boutons permettent d'envoyer la modification ou la suppression d'une ligne de la table 
    		echo '</form>';
    		echo "</tr>";
    	}
     
    	echo '<tr>';
    	echo '<form method="POST" action="index.php">'; // la fonction "action='..'" permet de redériger vers une page, ici on reste sur la même. 
    	echo '<input type="hidden" NAME="valider" VALUE="'.$_SESSION['table'].'"/>';
     
     
    		$entete=$bdd->query("SHOW COLUMNS FROM ".$_SESSION['table']);
    		echo "<tr>";
    		while($enteteELT=$entete->fetch()){
    			if(substr($enteteELT["Field"], 0, 3)=='id_'){
    				echo '<td><input type="hidden" NAME="id"/></td>';
    			}
     
    			else {
    				echo "<td><input TYPE='text' NAME='".$enteteELT["Field"]."'></td>";
    			}
     
    	}
     
     
    	?>
    	<td>
    	<input TYPE="submit" NAME="Envoyer" VALUE="Ajouter"/></td> <!-- permet d'ajouter une ligne sur la table 
    	</form>
    	</tr>
    	<?php echo "</table>"; // affiche la table 
     
    } else {
    	echo " "; // permet de voir les tables sans le détails, sans les lignes, juste le nom de la table qui apparait. 
    }

    Je ne sais pas comment faire pour que ma recherche fonctionne. En effet mon but c'est de pouvoir recherche un ou plusieurs mots clefs donc faut aussi faire en sorte que dans ma recherche on puisse rentrer un seul mot ou plusieurs pour l'effectuer correctement.

    Cette recherche me permettrais d'afficher toutes les lignes voulus par rapport au(x) mot(s) clef(s).

    Si quelqu'un aurai une idée sa m'arrangerai car je ne vois pas du tout comment faire là. Même en recherchant sur le net je n'ai pas trouvé de solution.
    Et en débutant dans ce domaine je galère un peu !

    Bonne journée à tous

  2. #2
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    AND / OR
    1. Définir toutes les combinaisons possibles.
    2. une combinaison dans une parenthèse dans la clause WHERE.
    3. Les combinaisons liées par OR
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ... WHERE ((combinaison1) OR (combinaison2) OR (...) OR (combinaisonn)) ...
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Points : 22
    Points
    22
    Par défaut
    Bonjour Nazoïde,

    Donc pour que ma recherche par mot clef fonctionne il faut que je mette tous mes champs de cette façon ?

    WHERE (('c.prenom' LIKE '%%' AND 'c.numero' AND 'l.adresse' ) OR ('c.prenom' LIKE '%%' AND 'c.numero' AND 'l.pays) OR ('c.nom LIKE '%%' AND 'c.numero' AND 'l.adresse' ) OR ('c.nom LIKE '%%' AND 'i.reponse AND 'l.adresse' )) ect...


    Est-ce bien ca ?

  4. #4
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Exactement. Entre les %%, se trouve la variable postée.
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Points : 22
    Points
    22
    Par défaut
    Je te remercie Nazoide, je vais essayer ca !

  6. #6
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    N'oublies pas de faire passer à résolu si OK.
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Points : 22
    Points
    22
    Par défaut
    Re bonjour Nazoide,

    Alors ta solution ne fonctionne pas quand je remplace mon code par les modifications apporter pour faire comme le tien je n'ai pu rien qui s'affiche :/
    J'ai fait comme ca.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
       $requete=$bdd->prepare("SELECT  c.*, i.*, l.* FROM contact c
    					              LEFT OUTER JOIN  interaction i ON 'c.nom='i.nom'
                                                          LEFT OUTER JOIN loge l ON 'c.numero='l.numero'
    					              WHERE ('c.prenom' LIKE '%%' AND 'i.nom 'AND 'l.adresse')
                                                          OR ('c.prenom' LIKE '%%' AND 'i.commentaire' AND 'l.numero) 
                                                          OR ('c.nom LIKE '%%' AND 'i.reponse' AND 'l.pays) 
                                                          OR ('c.interaction LIKE '%%' AND 'i.date' AND 'l.ville) 
                                                          OR ('c.nom LIKE '%%' AND 'i.reponse AND 'l.pays')
    					              ORDER BY 'i.nom' DESC"); 
    	$requete->execute();
    Mais peut être que c'est mon code de recherche qui ne va pas.


    Ligne 60 sur mon code dans le 1er post la ou j'ai mit mon problème il y avait ma requête suivante :

    $requete=$bdd->prepare('SELECT * FROM contact WHERE nom LIKE :nom AND prenom LIKE :prenom AND interaction LIKE :interaction AND numero LIKE :numero' );

    C'est à cette endroit que j'ai essayer de mettre ma nouvelle requête en fonction de ce que tu m'as dit mais ça ne fonctionne pas.

    Est-ce que je l'a met au bonne endroit et dois-je modifier d'autres trucs dans mon code?

    Peut être que tu connais un code de recherche par mot clefs plus simple que le mien? A tout hasard.

    Cordialement.

  8. #8
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    LIKE '%%'
    C'est normal de ne rien avvoir comme résultat.
    LIKE '%%' il te faut la valeur à comparaitre qui doit se mettre entre les pourcentage(% et %). Cette valeur est une variable postée par l'utilisateur.
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  9. #9
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Et en passant tu fais des jointures sur les tables qui ne sont pas en relation (DANGER ). Normal de rien avoir.
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  10. #10
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Nazoïde Voir le message
    C'est normal de ne rien avvoir comme résultat.
    LIKE '%%' il te faut la valeur à comparaitre qui doit se mettre entre les pourcentage(% et %)

    D'accord, je n'étais pas sur. Cependant, dans les champs je n'ai pas forcement les mêmes noms.
    J'explique
    -> ligne 1 j'ai les champs : truc machin bidulle reste
    -> ligne 2 j'ai les champs : zen tranquille repos reste

    Tu vois ce que je veux dire ?
    Donc ma question c'est comment je fais pour avoir quand mêmes les lignes?

    Exemple, Si je fais : OR ('c.prenom' LIKE '%machin%' AND 'i.commentaire' AND 'l.numero)
    Ca va me mettre que les lignes ou les prénoms sont machin?

  11. #11
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Nazoïde Voir le message
    Et en passant tu fais des jointures sur les tables qui ne sont pas en relation (DANGER ). Normal de rien avoir.
    Ah oui j'ai fait des erreurs sur ca en effet. Je le savais mais j'ai du m'embrouiller en faisant le code car sa fait plusieurs jours que je suis sur le même soucis.

    Je vais corriger ca de suite. Merci

  12. #12
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Points : 22
    Points
    22
    Par défaut
    Bon j'ai modifié ma requête mais j'ai toujours rien qui s'affiche malgré que je place des choses entre les '%%'

    Je ne comprends pas.

  13. #13
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Un qui n'a pas lu son cours sur l'opérateur LIKE.
    Cherches d'abord à comprendre sa syntaxe.
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  14. #14
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Points : 22
    Points
    22
    Par défaut
    Je sais a quoi correspond LIKE c'est pour récupérer le contenu du champs. Mais si j'écris %mi% ca va me ressortir tout ce qui possède 'mi'.

    Ca j'ai compris mais où je bloque c'est sur le faite que c'est ma recherche de mot clef qui va devoir faire le trie et pas dans ma requête elle-même pour ca que je m'étais rien entre %% car je voulais que sa prenne toutes la table. Pas juste certaines ligne en fonction.

  15. #15
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    OK.
    Commence par retirer les guillemets sur les table.colonne et %% et teste pour voir.
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  16. #16
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Points : 22
    Points
    22
    Par défaut
    C'est encore pire ! J'ai pu rien a par des $valeurs

  17. #17
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    OK.
    Commence par retirer les guillemets sur les table.colonne et %% et teste pour voir.
    Ne le fait pas Ouf!
    commençons par le début: les relations entre les tables, existent-elles? si oui, y'a t-il un lien entre elles (correspondante des clefs (primaires et étrangères));
    Puis elle st où ta requête?
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  18. #18
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Nazoïde Voir le message
    commençons par le début: les relations entre les tables, existent-elles? si oui, y'a t-il un lien entre elles (correspondante des clefs (primaires et étrangères));
    Puis elle st où ta requête?
    Bonjour Nazoide,

    Oui j'ai bien des relations entre les tables.
    Ma table contact est la table centrale. Elle a un champ nom en INT comme dans la table interaction (champs nom en INT). La table contact a également un champs numero en INT comme ma table loge (numero en INT).

    Tu veux voir quelle requête?

  19. #19
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Ma table contact est la table centrale. Elle a un champ nom en INT comme dans la table interaction (champs nom en INT). La table contact a également un champs numero en INT comme ma table loge (numero en INT).
    C'est mauvais. un nom en INT Sais tu seulement et vraiment ce qu'on entends par clé étrangère et clé primaire?
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  20. #20
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Nazoïde Voir le message
    C'est mauvais. un nom en INT Sais tu seulement et vraiment ce qu'on entends par clé étrangère et clé primaire?
    D'après ce que j'ai appris une clef primaire est celle choisie pour la table elle même et la clef étrangère est celle qui met en relation les tables entres elles.

    J'ai mit mon champs nom en INT car on m'apprit qu'il fallait mettre en INT les champs qu'on veut en lien pour les tables.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [4.2] Requête pour une recherche
    Par Yog-Sothot dans le forum Laravel
    Réponses: 2
    Dernier message: 21/09/2015, 13h50
  2. Requète pour une recherche par Priorité
    Par amine.h dans le forum Langage SQL
    Réponses: 1
    Dernier message: 28/12/2011, 14h45
  3. Requête pour une recherche sur champs multiple d'une table
    Par fred777 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 07/10/2008, 16h33
  4. [WD12] Requête liée à une liste ?
    Par Deallyra dans le forum WinDev
    Réponses: 5
    Dernier message: 02/06/2008, 08h14
  5. [SQL] Comment feriez-vous cette requête pour une recherche ?
    Par Core8 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/02/2008, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo