PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 10-05-2015 11:03:41

Fred974
Membre
Inscription : 18-04-2015
Messages : 5

comparer résultat d'un champ avec la table puis RESULTAT :: SELECT *

Bonjour à tous,

J'essaye de récupérer des données d'un champ saisi en amont qui s'appelle "query"
J'ai une table cont_tbl  AVEC  id, date, contenu1, contenu2, contenu3 et je veux afficher les résultats de la colonne contenu1
j'utilise la fonction LIKE mais ça ne marche pas; Error: SELECT * FROM cont_tbl WHERE contenu1 LIKE 'synergie%'
J'ai l'impression que c'est une erreur de syntaxe vers LIKE ...
J'ai pourtant essayé LIKE $contenu, LIKE '$contenu', LIKE "$contenu" , LIKE "'$contenu'", LIKE ."'$contenu'". etc ...
j'ai aussi essayé contenu1 = $contenu, etc ...
Rien ne marche ...

Quand je tape par exemple synergie dans le formulaire en amont, je récupère bien $contenu qui est : synergie.
mais quand le prog. compare contenu1 ( dont je sais qu'il contient le mot synergie ) avec $contenu ( qui a la valeur synergie)
Je n'ai aucun résultat!
Avec like y-a-t-il une différence entre majuscules et minuscules ?

En vous remerciant pour votre collaboration. wink

Voici le code de la page index.php

<form action="affichage.php" method="post">
<label for="query">Entrez votre recherche : </label>
<input type="search" name="query" maxlength="60" size="60" id="query"><br/>
<input type="submit" value="Rechercher">
</form>



Voici le code de la page afficher .php


<?php

include ("../css.php");
include ("../connect.php");
?>

<?php
$contenu = $_POST["query"];
echo "recherche saisie : $contenu<br/>";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}


  $sql = "SELECT * FROM cont_tbl WHERE contenu1 LIKE '$contenu' ";
if ($conn->query($sql) === TRUE) {
    echo "<h2>Affichage des résultats : %<br></h2>";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

?>

Hors ligne

#2 10-05-2015 15:36:19

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 192

Re : comparer résultat d'un champ avec la table puis RESULTAT :: SELECT *

extrait de la doc :
Pour les requêtes du type SELECT, SHOW, DESCRIBE, EXPLAIN et les autres requêtes retournant un jeu de résultats, mysql_query() retournera une ressource en cas de succès, ou FALSE en cas d'erreur.

donc, y a certainement pas d'erreur, sauf que mysql_query ne retourne pas TRUE mais une ressource wink

a++

Hors ligne

#3 10-05-2015 23:42:50

Fred974
Membre
Inscription : 18-04-2015
Messages : 5

Re : comparer résultat d'un champ avec la table puis RESULTAT :: SELECT *

Je te remercie pour ta réponse ...
mais je ne vois toujours pas comment on compare un résultat de formulaire et un enregistrement dans la table,
sans passer par SELECT WHERE ... LIKE
La ressource devrait être le résultat qui compare les deux données.
Y-aurait-il une autre méthode ?
Je vous remercie ...
wink

Hors ligne

#4 11-05-2015 10:41:45

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 192

Re : comparer résultat d'un champ avec la table puis RESULTAT :: SELECT *

c'est ça qui n'est pas bon wink
if ($conn->query($sql) === TRUE) {

$conn->query($sql) ne renvoie pas TRUE en cas de success wink

a++

Hors ligne

#5 27-05-2015 15:37:23

brel
Membre
Inscription : 22-05-2015
Messages : 2

Re : comparer résultat d'un champ avec la table puis RESULTAT :: SELECT *

fait le plus simplement possible 
$sql = "SELECT contenu1 FROM cont_tbl
et tu laffiche

Hors ligne

#6 27-05-2015 15:41:05

brel
Membre
Inscription : 22-05-2015
Messages : 2

Re : comparer résultat d'un champ avec la table puis RESULTAT :: SELECT *

desole je ne navais pas ft attention a la recherche C'est pierrot qui a raison

Hors ligne

#7 28-05-2015 21:48:39

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 192

Re : comparer résultat d'un champ avec la table puis RESULTAT :: SELECT *

il a pas compris non plus big_smile
pourtant, c'est lui qui a besoin de comprendre big_smile big_smile

a++

Hors ligne

Pied de page des forums