Associer 2 requetes sql / php

mika -  
 feyesh -
Bonjour,

Je suis en train d'apprendre php-mysql tout seul, avec des bouquins et tutos.
J'essaye de réaliser ma premiere appli en PHP qui permet de mémoriser dans quel annuaire j'ai référencé mes sites.
J'ai 4 tables :
- site (idsite, nomsite)
- annuaire (idannuaire, nomannuaire)
- statut (idstatut, etat [refus, validé, en cours])
- soumission (id, idsite, idannuaire,idstatut, date)

J'arrive à lister l'intégralité de la table soumission avec les valeurs correspondantes à chaque table grâce à une jointure dans l'instruction suivante:
$requete="SELECT * FROM site AS w, soumission AS s, annuaire AS a, statut AS e
WHERE w.idsite = s.idsite
AND a.idannuaire = s.idannuaire
AND e.idstatut = s.idstatut"; 


J'ai mis un champs déroulant pour sélectionner le site dont il est question, celui ci importe correctement les sites présents dans la table "soumission"
Le champs déroulant envoi correctement la valeur _POST["nomsite"] (j'ai vérifié avec une fonction mail form action="mail.php")

Par contre, je ne comprends pas comment on peut demander
d'executer la requete faisant ressortir le nom des champs ET celle qui contient le nom du site concerné, cf mon code qui ne fonctionne pas.
Le but est de lire la table soumission en selectionnant le site souhaité dans le champs déroulant de la page précédente.



?php include("inc/header.php"); ?>
<?php include("connexion.php");
//select
$bd=connect_bd();
if($bd<>0)
{

$_POST['nomsite'];

$sql     = 'SELECT * FROM soumission WHERE idsite="' .$_POST['nomsite']. '"';
$requete = 'SELECT * FROM site AS w, soumission AS s, annuaire AS a, statut AS e
WHERE w.idsite = s.idsite
AND a.idannuaire = s.idannuaire
AND e.idstatut = s.idstatut';
$resultat1 = mysql_query($sql,$bd)
or die ("requete 1 hs");
$resultat2 = mysql_query($requete,$bd)
or die ("requete 2 hs");
?>

<h2><?php echo "$nomsite"; ?></h2>

<?php
    if($resultat1<>FALSE) 
    { 
        echo "<table border=\"1\">"; 
        //entête du tableau 
        echo "<tr>"; 
                echo "<th>Annuaire</th>"; 
echo "<th>Statut</th>"; 
        echo "<th>date</th>"; 
        echo "</tr>"; 
    //fin de l'entête 

    while ($row=mysql_fetch_array($resultat1,$resultat2)) 
    { 
      echo "<tr>"; 
    echo "<td>".$row['nomannuaire']."</td>"; 
    echo "<td>".$row['etat']."</td>"; 
    echo "<td>".$row['date']."</td>"; 

      echo '</tr>'; 
    } 
    echo "</table>"; 
} 
else 
{ 
        echo "Echec de l'enregistrement, désolé"; 
} 
deconnect_bd($bd);	
} 
?>



Voyez vous ce qui bug ?
Comment "associer" mes 2 requetes ?
A voir également:

2 réponses

KiKiLeMMerDeuR Messages postés 284 Date d'inscription   Statut Membre Dernière intervention   36
 
concrètement, quelles infos veux tu extraire de tes tables ?

dans ta premiere requete, tu as un "WHERE idsite = "'.$_POST['nomsite'].'"';, ton $_POST['nomsite'] te renvoie bien l'id du site (et pas le nom) ?

Je suppose aussi que dans ta deuxieme requete, tu veux récupérer les résultats correspondant à ton idsite posté, il faut donc rajouter une condition dans ta requete :
AND w.idsite = "'.$_POST['nomsite'].'"

voila, si ça n'apporte pas de réponses à tes questions, essaye d'être clair sur le but global de ta manip (j'arrive pas a voir ce que tu cherches a faire en fait :p)
0
feyesh
 
Merci Kiki, super sympa et complète ta réponse.
J'ai trouvé la solution depuis mais comme je suis logué en visiteur je ne peux pas mettre résolu.
0