Mon code est-il incorrect ?

Résolu/Fermé
Utilisateur anonyme - Modifié le 22 févr. 2019 à 18:26
 Utilisateur anonyme - 24 févr. 2019 à 01:06
Quand je tape un mot qui exist dans latable word de la base de donée et je clique submit ça me dit: "le mot n'est pas trouvé" ya-t-il quelque chose à faire pour fixer ce disfoctionement ?
Merci
<?php
$con=mysqli_connect("localhost","root","","dic") or die(mysql_error());
$output = '';

//collect
if(isset($_POST['search'])){
$searchq = $_POST['search'];
$searchq = preg_replace("#[^0-9a-z]#i", "",$searchq);   

    $query = mysqli_query($con,"SELECT * FROM dictable WHERE word LIKE '%searchq%'") or die("could not search");
    $count = mysqli_num_rows($query);
    if ($count == 0) {
        $output = 'Word not found !';
    }else {
     
        while($row = mysqli_fetch_array($query)) {
            $word = $row['word'];
            $definition = $row['definition'];
            $id = $row['id'];

            $output .= '<div>'.$word.' '.$definition.'</div>';
        
    }

    }
}

?>
<!DOCTYPE html>
<html>
    <head>
        <title>Search</title>
    </head>
    <body>
        <form action="dictionaryphpmysql.php" method="post">
            <input type="text" name="search" placeholder="search for a word"/>
            <input type="submit" value=">>"/>
            
        </form>

        <?php print("$output"); ?>
    </body>
</html>


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

2 réponses

jee pee Messages postés 40482 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 27 novembre 2024 9 428
22 févr. 2019 à 16:50
Bonjour,

il doit manquer le $ de typage de la variable recherchée. Et peut être de quoi bien l'identifier comme cet exemple que j'ai trouvé :
where column1 is LIKE '%{$key}%'"); 

0
Utilisateur anonyme
23 févr. 2019 à 14:48
Bonjour,
merci pour ta réponse bien que je la comprends pas je l'ai quand même esseyé et comme comme j'expectais bah rien ...rien ne se passe en fait je veux créer un simple dictionnaire avec:
1- un tout bete input "rechercher mot"
2- une petite bete table dans Mysql qui contien 2 champs : le mot et sa definition c'est tout
3- je cherche un moyen pour afficher le mot et la definition que je vais inserer manuellement dans la table Mysql par exemple si quelqu'un ecrit "chat" dans l'input "rechercher" bah je voudrais afficher la definition de "chat" mais il semble qu'un petit projet aussi simple et bête que ça est pour le moment presque impossible.
Merci
0
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
23 févr. 2019 à 14:53
Bonjour,

Commence par faire un echo de la requête
puis testes la directement dans ta BDD pour voir ce qu'elle te retourne
//remplace
// $query = mysqli_query($con,"SELECT * FROM dictable WHERE word LIKE '%searchq%'") or die("could not search");
  
// par :
$sql = "SELECT * FROM dictable WHERE word LIKE '%$searchq%'";
echo $sql;
 $query = mysqli_query($con,$sql) or die("could not search");
  


0
Utilisateur anonyme
24 févr. 2019 à 01:06
ça fonctionne bien jordan45 merci :)
probleme résolu
0