Probleme d'affichage
Fermé
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
-
20 févr. 2008 à 15:20
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 - 21 févr. 2008 à 17:31
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 - 21 févr. 2008 à 17:31
26 réponses
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
21 févr. 2008 à 16:20
21 févr. 2008 à 16:20
tu vois le probleme croy???
Enax
Messages postés
203
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
16 mars 2010
145
21 févr. 2008 à 17:03
21 févr. 2008 à 17:03
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).
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
21 févr. 2008 à 17:06
21 févr. 2008 à 17:06
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
Enax
Messages postés
203
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
16 mars 2010
145
21 févr. 2008 à 17:20
21 févr. 2008 à 17:20
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
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
21 févr. 2008 à 17:31
21 févr. 2008 à 17:31
merci enax ca marche je vais essayer de continuer mon programme now..;
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
21 févr. 2008 à 17:31
21 févr. 2008 à 17:31
merci aussi a croy biensur