Pb de récupération de données sur Bdd

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 : Pb de récupération de données sur Bdd

par Cyrano » 05 janv. 2006, 19:54

Si tu veux faire afficher à l'écran la valeur d'une variable, tu fais comment ? Si tu trouves la réponse à cette question, tu sauras faire afficher ta requête SQL de la même manière... :-k

par auclairp » 05 janv. 2006, 19:42

désolé je ne comprend pas, comment je fais cela ???

par Cyrano » 02 janv. 2006, 08:16

Ce que je voulais dire, c'est la chose suivante : fais fafficher la requête générée et fais un copier/coller pour l'exécuter directement dans phpMyAdmin et vois si la liste de résultat correspond à ce que tu attends : est-ce que les champs que tu utilises dans ton tableau sont les bons ?

par auclairp » 02 janv. 2006, 01:22

Est-ce que l'exécution de la requête directement dans phpMyAdmin te donne le résultat attendu ?
Je suis pas certain de bien comprendre, mais si c'Est, es-ce que l'affichage du tableau est correcte, OUI, c'est juste une fois cliuer sur le lien, le résultat est pas bon il ne me donne pas le bon code ???

par Cyrano » 01 janv. 2006, 20:24

Est-ce que l'exécution de la requête directement dans phpMyAdmin te donne le résultat attendu ?

par auclairp » 01 janv. 2006, 19:35

J'ai essayer ton code, c'est pire encore, aucun résultat qui s'affiche....

J'avais continuer à tenter, et aussi a retourver une ligne de cote type que j'avais perdu... voici le résultat, mais toujours le même problème pour le lien code
<?
$retour = mysql_query('SELECT * FROM '.$sql_bdd_user.'.emprunt as c,'.$sql_bdd.'.description as d WHERE c.code=d.code');

while ($donnees = mysql_fetch_array($retour))
{
            ?>
            <tr class="resultat">
				<td class="option"><? echo '<a href="#" onclick="modifier_emprunt(' . $donnees['id'] . ');return(true)">'; ?><img src="images/b_edit.png" border="0" alt=""></a> <? echo '<a href="#" onclick="supp_emprunt(' . $donnees['id'] . ');return(true)">'; ?><img src="images/b_drop.png" border="0" alt=""></a></td>
                <td class="id_btl"><? echo $donnees['id_btl']; ?></td>
                <td class="code"><? echo('<a href="#" onclick="select2('.$donnees["code"].');">'.$donnees['code'].'</a>'); ?></td>        
                <td class="nom"><? echo('<a href="#" onclick="select2('.$donnees["code"].');">'.$donnees['nom'].'</a>'); ?></td>
                <td class="prix"><? echo $donnees['prix']; ?> $</td>
                <td class="emprunt"><? echo $donnees['quand']; ?></td>
                <td class="remis"><? echo $donnees['remis']; ?></td>
				<td class="par"><? echo $donnees['par']; ?></td>
                 
            </tr>
<?
} //fin de while
pour les tables....

table.Description (.$sql_bdd.)
Image

table.Emprut (.$sql_bdd_user.)
Image

par Cyrano » 01 janv. 2006, 12:54

À priori, il y a effectivement un problème, mais en amont de ce que tu décris: pourquoi deux requêtes au lieu de faire une jointure ? Il faudrait voir la structure de tes tables, voir des exemples de données des deux tables et ce que tu veux obtenir comme résultat à partir de ces données.

Mais à priori, tu dois pourvoir tout extraire à partir d'une requête ce qui donnerait le résultat suivant :
<?php
$user = nl2br($_COOKIE['user']);
$connec = nl2br($_COOKIE['connec']);
require("$connec");

mysql_select_db($sql_bdd_user) or die ("erreur de selection");
$requete = "SELECT e.id, e.id_btl, e.code AS code1, d.nom AS nom2, e.prix, e.quand, e.remis, e.par ".
           "FROM emprunt AS e, description AS d ".
           "WHERE e.code = d.code";
$reponse = mysql_query($requete);

while ($donnees = mysql_fetch_assoc($reponse) )
{
            // on affiche lorsque les codes sont identiques
?>
    <tr class="resultat">
        <td class="option"><? echo '<a href="#" onclick="modifier_emprunt(' . $donnees['id'] . ');return(true)">'; ?><img src="images/b_edit.png" border="0" alt=""></a> <? echo '<a href="#" onclick="supp_emprunt(' . $donnees['id'] . ');return(true)">'; ?><img src="images/b_drop.png" border="0" alt=""></a></td>
        <td class="id_btl"><? echo $donnees['id_btl']; ?></td>
        <td class="code"><? echo $donnees['code1']; ?></td>         
        <td class="nom"><? echo('<a href="#" onclick="select2('.$donnees["code1"].');">'.$donnees['nom2'].'</a>'); ?></td>
        <td class="prix"><? echo $donnees['prix']; ?> $</td>
        <td class="emprunt"><? echo $donnees['quand']; ?></td>
        <td class="remis"><? echo $donnees['remis']; ?></td>
        <td class="par"><? echo $donnees['par']; ?></td>
    </tr>
<?php
} //fin de while

mysql_close(); // Déconnexion de MySQL
?>

Pb de récupération de données sur Bdd

par auclairp » 31 déc. 2005, 23:55

Voici mon code
<body> 

<script language="JavaScript">

function select(code,delai)
{ 
window.opener.location.href('detail_cellier.php?code='+code);
setTimeout("self.close();",delai); }

function select2(code) {
    window.open('detail_cellier.php?code='+code,'popup','width=300,height=350,scrollbars=yes,location=yes');
 }
 
function modifier_emprunt(id) {
    window.open('add_emprunt.php?modifier_emprunt='+id,'popup','width=300,height=350,scrollbars=no,location=no');
 }

function supp_emprunt(id) {
    window.open('add_emprunt.php?supp_emprunt='+id,'popup','width=300,height=350,scrollbars=no,location=no');
 }
 </script>

<br><br>
<table summary="" align="center" border="1">
	<caption><b>Liste des bouteilles<br>empruntées</b></caption>
	<tr> 
		<td class="titre_option">Option</td>
		<td class="titre_id">ID Btl.</td>
		<td class="titre_code">Code</td>
		<td class="titre_nom">Nom</td>
		<td class="titre_prix">Prix</td>		
		<td class="titre_emprunt">Emprunter le</td>
		<td class="titre_remis">Remis le</td>
		<td class="titre_par">Par</td>														  
	</tr>
<? 
$user = nl2br($_COOKIE['user']);
$connec = nl2br($_COOKIE['connec']);
require("$connec");
     
mysql_select_db($sql_bdd_user) or die ("erreur de selection");
$reponse = mysql_query("SELECT * FROM emprunt");

mysql_select_db($sql_bdd) or die ("erreur de selection");
$reponse2 = mysql_query("SELECT * FROM description");

while ($donnees = mysql_fetch_assoc($reponse) )    {  // on liste tous les résultats
    mysql_data_seek($reponse2, 0); // on retourne l'enregistrement à 0
    while ($donnees2 = mysql_fetch_assoc($reponse2) )    {  // on liste tous les résultats
        
		if ($donnees2['code'] == $donnees['code'])    {  // on affiche lorsque les codes sont identiques 
            ?>
            <tr class="resultat">
				<td class="option"><? echo '<a href="#" onclick="modifier_emprunt(' . $donnees['id'] . ');return(true)">'; ?><img src="images/b_edit.png" border="0" alt=""></a> <? echo '<a href="#" onclick="supp_emprunt(' . $donnees['id'] . ');return(true)">'; ?><img src="images/b_drop.png" border="0" alt=""></a></td>
                <td class="id_btl"><? echo $donnees['id_btl']; ?></td>
                <td class="code"><? echo $donnees['code']; ?></td>         
                <td class="nom"><? echo('<a href="#" onclick="select2('.$donnees["code"].');">'.$donnees2['nom'].'</a>'); ?></td>
                <td class="prix"><? echo $donnees2['prix']; ?> $</td>
                <td class="emprunt"><? echo $donnees['quand']; ?></td>
                <td class="remis"><? echo $donnees['remis']; ?></td>
				<td class="par"><? echo $donnees['par']; ?></td>
                 
            </tr>
            <?
        } //fin de if
    } //fin de while
} //fin de while

mysql_close(); // Déconnexion de MySQL
?> 

Lorsque je clique sur le lien étant le résultat de '.$donnees2['nom'].', Le problème se trouve dans le lien le '.$donnees['code'].', j'obtien un lien du genre detail_cellier.php?code=66 "66" n'est pas le bon code, ca n'existe même pas dans ma bdd, et de plus, si on regarde plus haut, je le demande le code, et il est correcte, pourquoi rendu sur mon lien ce n'est plus le bon qui est envoyer. Merci