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

Eléphant du PHP | 333 Messages

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
Ce n'est pas toujours facile d'essayer, mais c'est toujours vallorisant lorsqu'on y arrive !!!

Apprenez, ne le faite pas faire par les autres.

Mammouth du PHP | 19672 Messages

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
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 333 Messages

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
Ce n'est pas toujours facile d'essayer, mais c'est toujours vallorisant lorsqu'on y arrive !!!

Apprenez, ne le faite pas faire par les autres.

Mammouth du PHP | 19672 Messages

01 janv. 2006, 20:24

Est-ce que l'exécution de la requête directement dans phpMyAdmin te donne le résultat attendu ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 333 Messages

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 ???
Ce n'est pas toujours facile d'essayer, mais c'est toujours vallorisant lorsqu'on y arrive !!!

Apprenez, ne le faite pas faire par les autres.

Mammouth du PHP | 19672 Messages

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 ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 333 Messages

05 janv. 2006, 19:42

désolé je ne comprend pas, comment je fais cela ???
Ce n'est pas toujours facile d'essayer, mais c'est toujours vallorisant lorsqu'on y arrive !!!

Apprenez, ne le faite pas faire par les autres.

Mammouth du PHP | 19672 Messages

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
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: