Lecture des valeurs dans ma BDD foireuse

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Lecture des valeurs dans ma BDD foireuse

Re: Lecture des valeurs dans ma BDD foireuse

par SinBert » 21 août 2009, 11:25

Effectivement, il y avait un souci au niveau des balises. Mais c'est corriger 8-)

Mais j'avais fait une bête erreur que j'ai trouvé en me relisant pour la x³ ème fois.

J'avais ceci :
while(condition)
{
$flag = 0;
//affichage
$flag++;
}
Ma variable $flag se remettait à 0 a chaque fois que ma boucle se répétait.
Bref, maintenant sa marche. merci a tous.

*Résolu*

Re: Lecture des valeurs dans ma BDD foireuse

par Yosh » 21 août 2009, 09:25

Je viens de faire un copier coller de ton code, tu n'a pas d'erreur?

Pour moi direct l'erreur
Parse error: syntax error, unexpected $end in D:\www\GestionFacture\testDB.php on line 38
, je te laisse chercher au niveau de la balise ouvrante PHP (tu a mis une balise fermante).

Ensuite, en créant une base test et en utilisant ton code tout fonctionne chez moi (enfin autant que faire se peux, parceque j'ai pas très bien compris ce que tu voulais faire, un moteur de recherche d'url?),
<?php
$request = $_GET['request'];
$mode = $_GET['seach_mode'];

$paf = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("testDB", $paf) or die(mysql_error());
?>

<html><head><title>Recherche : <?php echo $request; ?> - Bsea</title></head>
<body>
<p align="right"><a href="account.htm">S'identifier ou s'inscrire</a></p>
<img src="image/bsea_logo_search.png" alt="Bsea - search"><form method="GET" action="testDB.php">
<input type="text" size="50" name="request" value="<?php echo $request; ?>"> &nbsp;&nbsp; &nbsp; Mode de recherche : <font color="blue"><?php echo $mode; ?></font>
<input type="hidden" name="seach_mode" value="<?php echo $mode; ?>"> </form>

<hr>
<?php


$reponse = mysql_query("SELECT * FROM requete");
while($donnee = mysql_fetch_array($reponse))
{
        $flag = 0;
        echo '<p><a href="'.$donnee['url'].'">'.$donnee['name'].'</a></p>';
       $flag++;
}



if($flag == 0)
{
  ?>
  <font size="5" color="red">Il n'y a pas de résultat corresondant à "<?php echo $request; ?>"</font>
  <br><br>
  }
  <?php
 }
?>

Re: Lecture des valeurs dans ma BDD foireuse

par charabia » 21 août 2009, 09:19

Relis bien ton code, tu as une accolade fermante en trop et du PHP non entouré de <?php ?> en bas de ton code.

Re: Lecture des valeurs dans ma BDD foireuse

par SinBert » 20 août 2009, 19:28

J'ai donc modifié mon code.
J'ai remplacer mon mysql_select_db(); comme toi. (il fallait pas les guillemets autour de la variable qui contient le mysql_connect)

J'ai aussi remplacer la partie de code que tu m'a dit.
J'ai également remplacer les == par = dans la fonction while().
Mais rien ne change. Toujours pas de résultat quand je vais sur la page.

Le script actuel :
<?php
$request = $_GET['request'];
$mode = $_GET['seach_mode'];

$paf = mysql_connect("", "", "") or die(mysql_error());
mysql_select_db("", $paf) or die(mysql_error());
?>

<html><head><title>Recherche : <?php echo $request; ?> - Bsea</title></head>
<body>
<p align="right"><a href="account.htm">S'identifier ou s'inscrire</a></p>
<img src="image/bsea_logo_search.png" alt="Bsea - search"><form method="GET" action="search.php">
<input type="text" size="50" name="request" value="<?php echo $request; ?>"> &nbsp;&nbsp; &nbsp; Mode de recherche : <font color="blue"><?php echo $mode; ?></font>
<input type="hidden" name="seach_mode" value="<?php echo $mode; ?>"> </form>

<hr>
<?php


$reponse = mysql_query("SELECT * FROM requete");
while($donnee = mysql_fetch_array($reponse))
{
        $flag = 0;
        echo '<p><a href="'.$donnee['url'].'">'.$donnee['name'].'</a></p>';
       $flag++;
}



if($flag == 0)
{
  ?>
  <font size="5" color="red">Il n'y a pas de résultat corresondant à "<?php echo $request; ?>"</font>
  <br><br>
  }
  ?>
 }
?>

Re: Lecture des valeurs dans ma BDD foireuse

par Yosh » 20 août 2009, 16:57

Que te donne ce code :
<?php
$reponse = mysql_query("SELECT * FROM requete");
while($donnee == mysql_fetch_array($reponse))
{
	echo '<p><a href="'.$donnee['url'].'">'.$donnee['name'].'</a></p>';
}
?>
Effectivement, le == à la ligne while($donnee == mysql_fetch_array($reponse)) n'est pas utile...

Re: Lecture des valeurs dans ma BDD foireuse

par charabia » 20 août 2009, 16:50

Que te donne ce code :
<?php
$reponse = mysql_query("SELECT * FROM requete");
while($donnee = mysql_fetch_array($reponse))
{
	echo '<p><a href="'.$donnee['url'].'">'.$donnee['name'].'</a></p>';
}
?>
oups en effet pas vu les ==

Re: Lecture des valeurs dans ma BDD foireuse

par Superpilou » 20 août 2009, 15:47

Je pense que ton erreur se situe ici:
mysql_connect("", "", "") or die(mysql_error());
mysql_select_db("") or die(mysql_error());
En effet normalement quand on sélectionne une db on met entre parenthèse le nom de la base
et la connexion.
Normalement on le fait comme ca:
$c=mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("essai","$c") or die(mysql_error());

Lecture des valeurs dans ma BDD foireuse

par SinBert » 20 août 2009, 15:35

Bonjour à tous.

J'ai un problème de lecture des valeurs dans ma BDD. En effet, quand je veux lire ces valeurs et les afficher, rien ne s'affiche.
J'ai donc retourner dans tous les sens possibles mon code, ma requête SQL, mais rien.
<?php
$request = $_GET['request'];
$mode = $_GET['seach_mode'];

mysql_connect("", "", "") or die(mysql_error());
mysql_select_db("") or die(mysql_error());
?>

<html><head><title>Recherche : <?php echo $request; ?> - Bsea</title></head>
<body>
<p align="right"><a href="account.htm">S'identifier ou s'inscrire</a></p>
<img src="image/bsea_logo_search.png" alt="Bsea - search"><form method="GET" action="search.php">
<input type="text" size="50" name="request" value="<?php echo $request; ?>"> &nbsp;&nbsp; &nbsp; Mode de recherche : <font color="blue"><?php echo $mode; ?></font>
<input type="hidden" name="seach_mode" value="<?php echo $mode; ?>"> </form>

<hr>
<?php

$reponse = mysql_query("SELECT * FROM requete");

while($donnee == mysql_fetch_array($reponse))
{
$flag = 0;
?>

<font size="4"> <a href="<?php echo $donnee['url']; ?>"><?php echo $donnee['name']; ?></a></font><br><br>
<?php
$flag++;
}


if($flag == 0)
{
  ?>
  <font size="5" color="red">Il n'y a pas de résultat corresondant à "<?php echo $request; ?>"</font>
  <br><br>
  }
  ?>
 }
?>
J'ai fait exprès de mettre ma requête SQL a SELECT * ... pour qu'il me sélectionne tout dans ma base, mais il n'affiche quand même rien provenant de ma base
Quand je tape n'importe quoi, il me met "Il n'y a pas de résultat corresondant à ..." correctement.
Il y a des entrées dans ma base.
Mes identifiants de base de donnée sont corrects, donc que se passe t'il? :(