Recherche sur la base de donnees

Fermé
lifa5 Messages postés 43 Date d'inscription vendredi 20 juin 2014 Statut Membre Dernière intervention 3 mai 2016 - 12 sept. 2014 à 12:41
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 15 sept. 2014 à 10:55
Bonjour, je souhaite faire une recherche sur deux table de ma base.pour cela je veut recuperer les Id de chaque table,les comparer pour ensuite lancer la requete.j'ai ce code:

<?php
$bdd= new PDO('mysql:host=localhost; dbname=nombase','root','pwd');
if(isset($_POST['env']))
$champ=$_POST['id'];
else
$champ="";
$rech="SELECT Id_rubrique,Id_modif from test,modification";
$req=mysql_query($rech);
$res=mysql_fetch_array($res);
$Id_rub=$res['Id_rubrique'];
$Id_mod=$res['Id_modif'];
if($Id_rub=$Id_mod)
{
$requete=$bdd-> query("SELECT * FROM test,modification where Numero_texte='".$champ."'");
}
else
{
$requete=$bdd-> query("SELECT * FROM test where Numero_texte='".$champ."'");
}
while($data = $requete ->fetch()) {
?>



J'ai cette erreur
Parse error: parse error in C:\wamp\www\archives\pageweb\Rechercher.php on line 123
et je vois pas ou ca peut venir

7 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
12 sept. 2014 à 14:13
Salut,

Ta boucle while n'est pas fermée.

Bonne journée
0
lifa5 Messages postés 43 Date d'inscription vendredi 20 juin 2014 Statut Membre Dernière intervention 3 mai 2016
12 sept. 2014 à 14:22
Merci pour la reponse et je les je les fermer en bas apres l'affichage de la recherche
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
12 sept. 2014 à 14:41
La ligne suivante n'est pas correcte :
$res=mysql_fetch_array($res);

cela devrait être :
$res=mysql_fetch_array($req);

d'où l'importance de donner des noms claires aux variables, pour éviter ces confusions.

Ton test suivant :
if($Id_rub = $Id_mod)

correspond à une affectation (un seul signe =) donc toujours vrai. A corriger par :
if($Id_rub == $Id_mod)


Les espaces après ou avant l'appel d'une méthode sur un objet sont inutile :
$bdd->query
$requete->fetch()


Enfin, à quoi correspond la ligne 123 ?
0
lifa5 Messages postés 43 Date d'inscription vendredi 20 juin 2014 Statut Membre Dernière intervention 3 mai 2016
Modifié par lifa5 le 12/09/2014 à 15:53
Apres les correctifs j'ai ce code et ca ne fontionnne toujours pas

<?php
$bdd= new PDO('mysql:host=localhost; dbname=nombase','root','pwd');
if(isset($_POST['env']))
$champ=$_POST['id'];
else
$champ="";
$rech="SELECT Id_rubrique,Id_modif from test,modification";
$req=mysql_query($rech);
$res=mysql_fetch_array($req);
$Id_rub=$res['Id_rubrique'];
$Id_mod=$res['Id_modif'];
if($Id_rub == $Id_mod)
{
$requete=$bdd->query("SELECT * FROM test,modification where Numero_texte='".$champ."'");

}
else
{
$requete=$bdd->query("SELECT * FROM test where Numero_texte='".$champ."'");
}
//echo"<table border=2> <tr> <td> <b>id client </b></td><td><b>Nom client</b></td><td><b>Prenom client</b></td><td><b>Tel client</b></td><td><b> Email_client</b></td>";
while($data = $requete->fetch()) {
?>

<table>
<tr></tr><tr></tr><br> <br>
<tr><td>Date :</td> <td> <?php echo '<h2>'.$data['date_dev'].'</h2>';?> </td></tr><br><br>
<tr><td>Nature:</td><td> <?php echo '<h2>'.$data['nature_texte'].'</h2>';?></td></tr><br><br>
<tr><td>Numero :</td><td> <?php echo '<h2>'.$data['numero'].'</h2>';?></td>
<td>Page:</td><td> <?php echo '<h2>'.$data['page_jo'].'</h2> ';?></td></tr><br><br>
<tr><td>Somme:</td><td> <?php echo '<h2>'.$data['Sommaire'].'</h2> ';?></td></tr><br><br>
<tr><td>Analyse:</td><td> <?php echo '<h2>'.$data['Analyse_du_texte'].'</h2> ';?></td></tr><br><br>
<tr><td>Terme:</td><td> <?php echo '<h2>'.$data['terme_du_modif'].'</h2> ';?></td>
</tr>
</table>
<?php}
$requete->closecursor();
echo"</table>";

?>

lifa8
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
12 sept. 2014 à 16:02
Qu'est-ce qui ne fonctionne toujours pas ?
- la réception des données ?
- la connexion à la bdd ?
- les requêtes sql ?
- l'affichage des résultats ?

En développement, commence par afficher les erreurs de PDO :
$bdd= new PDO('mysql:host=localhost; dbname=nombase','root','pwd'); 
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
0
lifa5 Messages postés 43 Date d'inscription vendredi 20 juin 2014 Statut Membre Dernière intervention 3 mai 2016
Modifié par lifa5 le 12/09/2014 à 17:44
ca donne la meme erreur :Parse error: parse error in D:\wamp\www\Rechercher.php on line 123
je pense que c'est du a quelque part ou j'ai pas fermé mais j'arrive pas


lifa8
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
15 sept. 2014 à 10:55
Je ne vois pas d'erreur de syntaxe dans ton dernier code. Peux tu nous montrer le dernière version de ton code en indiquant quelle est la ligne 123 ?
0