Probleme d'affichage
ladj59
Messages postés
322
Statut
Membre
-
ladj59 Messages postés 322 Statut Membre -
ladj59 Messages postés 322 Statut Membre -
Bonjour,
supposons que j'ai dans une ligne de ma BDD les mots clé suivants: atomes physique
dansune autre ligne de ma BDD les mots clé suivants : atomes
comment faire pour que quand je fais une recherche par mots clé si je tape : atomes physique il ne maffiche qu'une fois la ligne où les mots clé sont atomes physique et une fois la ligne où les mots clé sont atomes
actuellement cela maffiche : atomes physiques
atomes
atomes physique
car il regarde dabord pour atomes et il affiche les lignes correspondantes puis fais pareil avec physique sans regarder si il ne va pas réecrire la meme ligne....je ne sais pas tro quoi mettre dans mon if pour dire qu'il ne réaffiche pas une ligne déja affichée....
merci d'avance ...urgent!!
supposons que j'ai dans une ligne de ma BDD les mots clé suivants: atomes physique
dansune autre ligne de ma BDD les mots clé suivants : atomes
comment faire pour que quand je fais une recherche par mots clé si je tape : atomes physique il ne maffiche qu'une fois la ligne où les mots clé sont atomes physique et une fois la ligne où les mots clé sont atomes
actuellement cela maffiche : atomes physiques
atomes
atomes physique
car il regarde dabord pour atomes et il affiche les lignes correspondantes puis fais pareil avec physique sans regarder si il ne va pas réecrire la meme ligne....je ne sais pas tro quoi mettre dans mon if pour dire qu'il ne réaffiche pas une ligne déja affichée....
merci d'avance ...urgent!!
A voir également:
- Probleme d'affichage
- Affichage double ecran - Guide
- Problème affichage facebook ✓ - Forum Facebook
- Problème affichage fenêtre windows 10 - Guide
- Windows 11 affichage classique - Guide
- Problème affichage page internet google chrome ✓ - Forum Google Chrome
26 réponses
Ca dépend des changements que tu as apportés... Normalement, son code devrait fonctionner, à part peut-être l'oubli d'un espace après le WHERE (et effectivement d'un point-virgule à la fin d'une instruction).
voila le code que j'ai rentré :
<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("physique"); // Sélection de la base coursphp
$mots = explode(" ", $_POST['motscle']);
if(($_POST['auteur']=='') && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motscle']!=''))
{
$laRequete = "SELECT * FROM base_physique WHERE ";
for( $rangMotclef=0; $rangMotclef < sizeof($mots); $rangMotclef ++)
{
if( $rangMotclef > 0 )
{
$laRequete .= " OR ";
$laRequete .= "motcle LIKE '%" . $mots[ $rangMotclef ] . "%'" ;
}
}
$reponse = mysql_query( $laRequete );
if( !$reponse )
{
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $laRequete;
die($message);
}
while( $donnees = mysql_fetch_array($reponse) )
{
echo $donnees['id'] . "<br />";
?>
<?php
}
}
?>
mais ca me mets toujours :Requête invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 Requête complète : SELECT * FROM base_physique WHERE
help me please
<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("physique"); // Sélection de la base coursphp
$mots = explode(" ", $_POST['motscle']);
if(($_POST['auteur']=='') && ($_POST['titre']=='') && ($_POST['année']=='') && ($_POST['journal']=='') && ($_POST['motscle']!=''))
{
$laRequete = "SELECT * FROM base_physique WHERE ";
for( $rangMotclef=0; $rangMotclef < sizeof($mots); $rangMotclef ++)
{
if( $rangMotclef > 0 )
{
$laRequete .= " OR ";
$laRequete .= "motcle LIKE '%" . $mots[ $rangMotclef ] . "%'" ;
}
}
$reponse = mysql_query( $laRequete );
if( !$reponse )
{
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $laRequete;
die($message);
}
while( $donnees = mysql_fetch_array($reponse) )
{
echo $donnees['id'] . "<br />";
?>
<?php
}
}
?>
mais ca me mets toujours :Requête invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 Requête complète : SELECT * FROM base_physique WHERE
help me please
C'est :
Ou :
Sachant que quand tu n'as qu'une seule instruction dans un bloc les accolades ne sont pas nécessaires.
J'ai testé le code sur l'une de mes tables et ça fonctionne très bien.
for($rangMotclef = 0 ; $rangMotclef < sizeof($mots) ; $rangMotclef++)
{
if($rangMotclef > 0)
$laRequete .= " OR ";
$laRequete .= "motcle LIKE '%" . $mots[ $rangMotclef ] . "%'";
}
Ou :
for($rangMotclef = 0 ; $rangMotclef < sizeof($mots) ; $rangMotclef++)
{
if($rangMotclef > 0)
{
$laRequete .= " OR ";
}
$laRequete .= "motcle LIKE '%" . $mots[ $rangMotclef ] . "%'";
}
Sachant que quand tu n'as qu'une seule instruction dans un bloc les accolades ne sont pas nécessaires.
J'ai testé le code sur l'une de mes tables et ça fonctionne très bien.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question