PHP : interrogation de bases de données

Résolu/Fermé
scoutty Messages postés 1 Date d'inscription mardi 23 janvier 2007 Statut Membre Dernière intervention 1 février 2007 - 1 févr. 2007 à 14:50
 Picasso - 25 oct. 2011 à 21:38
J'ai mis en place un formulaire permettant d'interroger une bdd mysql. Le formulaire envoit les infos vers un fichier bdd.php ci-dessous :
<html>
<body>
<?
// récupération de la variable protocole et affichage des données relatives à celui ci et les portails les utilisant
if(isset($_POST['protocole'])) $protocole=$_POST['protocole'];
{
if(!empty($protocole)) {
mysql_connect('localhost','root');
mysql_select_db('portail');
$rq_protocole = "SELECT protocole.nom_protocole, protocole.organisme, protocole.definition, portail.nom_portail
FROM protocole, portail, communiquer
WHERE protocole.nom_protocole='$protocole' AND protocole.id_protocole=communiquer.id_protocole AND portail.id_portail=communiquer.id_portail";

$var_protocole=mysql_query($rq_protocole) or die;
$data=mysql_fetch_array($var_protocole);


echo "<b>Protocole : </b>".$data['nom_protocole']."<br>";
echo "<b>Editeur : </b>".$data['organisme']."<br>";
echo "<b>Définition : </b>".$data['definition']."<br>";
echo "<b>Portails l'utilisant : </b>";
while ($data=mysql_fetch_array($var_protocole))
{
echo $data['nom_portail'];
echo "<li>".$data['nom_portail']."<br>";
echo "<br>";
}
mysql_close();
}
}
?>
<br>
<!--<input type="reset" value="Retour" target="recherche" onClick="window.location.href='recherche_portail.php'"> -->
</body>
</html>
Si j'exécute directement la requete dans la base de données aucun souci, j'ai bien les bonnes infos. Par contre si je l'éxécute depuis l'IE, je n'ai rien en face de portails l'utilisant
ex
Protocole : srw - sru
Editeur : Library of Congress
Définition : SRU est un protocole de recherche standard pour les interrogations sur internet qui utilise le langage de requête CQL. SRW est une variante du protocole SRU. Le client dialogue avec le serveur non pas par URL mais en utilisant le protocole http via le protocole SOAP.
Portails l'utilisant :

Je pense qu'il s'agit d'un pb avec la boucle while mais comment y remédier ?
Pour info, je peux pour un protocole avoir un ou plusieurs portails l'utilisant.

Merci pour votre aide....
A voir également:

2 réponses

plop! Messages postés 54 Date d'inscription jeudi 1 février 2007 Statut Membre Dernière intervention 16 mai 2007 27
2 févr. 2007 à 01:02
Remplace
while ($data=mysql_fetch_array($var_protocole))
{
    echo $data['nom_portail'];
    echo "<li>".$data['nom_portail']."<br>";
    echo "<br>";
} 

Par :
do
{
    echo $data['nom_portail'];
    echo "<li>".$data['nom_portail']."<br>";
    echo "<br>";
} while ($data=mysql_fetch_array($var_protocole));
2
envoie ton formullaire STP merci ^^
0