Php requete

wikilili Messages postés 274 Statut Membre -  
 A.Nonymous -
Bonjour,
si'l vous plait dans le code en desous la requete en commentaitre ne marche pa

<?php
echo " <form method='post' action='' >
<label for ='semestre'>semestre:</label><select name='semestre'>
<option value='s1' >S1</option>
<option value='s2' >S2</option>
<option value='s3' >S3</option>
<option value='s4' >S4</option>
<option value='s5' >S5</option>
<option value='s6'>S6</option>

</select></br>

<label for ='annee'>annee:</label><select name='annee'>

<option value='2009/2010' >2009/2010</option>
<option value='2010/2011' >2010/2011</option>
<option value='2011/2012' >2011/2012</option>
<option value='2012/2013' >2012/2013</option>

</select></br>
<input type='submit'>
</form>";
require("connect.php");
if ( isset($_POST["semestre"]) )
{
// echo "je suis etudiant(e) $snnom inscrit dans le semestre : ".$_POST["semestre"]." pour l'annee :".$_POST["annee"]."</br>";
$sem=$_POST["semestre"];
$ann=$_POST["annee"];
$strSQL = " SELECT * FROM 'semestre' where ( num_sem='$sem' and annee='$ann')";
/*$strSQL ="SELECT cin,num_sem semestre,annee FROM inscrit ins, (

SELECT *
FROM 'semestre'
WHERE (
num_sem ='$sem'
and annee ='$ann'
)
)tem
WHERE ( ins.num_sem = tem.num_sem)
";*/
//connection a la base

$reqst=$bdd->prepare($strSQL);
$reqst->execute();

while($row=$reqst->fetch())
{
if(sizeof($row)==0)
{
echo"<fieldset><legend>erreur !!</legend>

l'etudiant n'est pas inscrit!!!

</fieldset>";
}
else

echo "je suis l' etudiant(e) $snnom inscrit dans le semestre :". $row["num_sem"]." pour l'annee :".$row['annee']."et mon CIN est:".$row['cin']."</br>";

// echo "ma semestre est ".$row['num_sem']." pour l'annee".$row['annee'];

}//fin else
}//fermeture if sizeof

?>

7 réponses

  1. wikilili Messages postés 274 Statut Membre 2
     
    oui tem c'est un alias pour le resulta de SELECT *
    FROM 'semestre'
    WHERE (
    num_sem ='$sem'
    and annee ='$ann'
    )
    )tem
    parce que il me dit qu'il y'a embeguité pour num_sem
    0
  2. wikilili Messages postés 274 Statut Membre 2
     
    de tout facon j'ai resolus le probleme mon probleme nouveau hhh est : est ce que c possible de decomposer un requete par exemple larequte en haut en deux partie :
    par exemple socker resulta de SELECT *
    FROM 'semestre'
    WHERE (
    num_sem ='$sem'
    and annee ='$ann'
    )
    )tem dans un variable $req1 mais est ce que c'est possible de faire la chose suivant $res= $req1->execute()
    et utiliser $res pour effectuer la jointure avec la table inscrit et realiser la requete en haut de la page?? mercii
    0
  3. A.Nonymous
     
    $strSQL = "
    SELECT
    inscrit.*,
    semestre.*
    FROM semestre
    INNER JOIN inscrit ON inscrit.num_sem = semestre.num_sem
    WHERE
    semestre.num_sem='$sem'
    AND semestre.annee='$ann'
    ";
    0
  4. wikilili Messages postés 274 Statut Membre 2
     
    <?php
    echo " <form method='post' action='' >
    <label for ='semestre'>semestre:</label><select name='semestre'>
    <option value='s1' >S1</option>
    <option value='s2' >S2</option>
    <option value='s3' >S3</option>
    <option value='s4' >S4</option>
    <option value='s5' >S5</option>
    <option value='s6'>S6</option>

    </select></br>

    <label for ='annee'>annee:</label><select name='annee'>

    <option value='2009/2010' >2009/2010</option>
    <option value='2010/2011' >2010/2011</option>
    <option value='2011/2012' >2011/2012</option>
    <option value='2012/2013' >2012/2013</option>

    </select></br>
    <input type='submit'>
    </form>";

    //connection a la base
    require("connect.php");
    if ( isset($_POST["semestre"]) )
    {
    $sem=$_POST["semestre"];
    $ann=$_POST["annee"];
    $cin=$_SESSION['cin'];
    $strSQL = "select nom ,prenom ,lieu_naiss,date_naiss ,etudiant.cin ,semestre,filier from etudiant join (SELECT cin,res2.num_sem as semestre ,annee FROM (SELECT * FROM semestre where annee='$ann') res1 join (SELECT * FROM inscrit where num_sem='$sem') res2 on res1.num_sem=res2.num_sem)res3 on etudiant.cin='$cin'";

    ?>

    <style type="text/css">
    th{bgcolor='#00BFAA';
    border-radius:12px;}

    </style>

    <?php

    $reqst=$bdd->prepare($strSQL);
    $reqst->execute();
    $row=$reqst->fetch();
    $fil=$row['filier'];
    $sql = "select module.nom_mod,matiere.nom_mat,note from etudiant,semestre,matiere,note,module,associerfiliere where (semestre.num_sem=s6) and filier='smi' and etudiant.cin='2147483647' and semestre.annee='2011/2012' and associerfiliere.nom_filiere=filier and module.num_sem=semestre.num_sem and note.id_resp=associerfiliere.id_resp and matiere.nom_mod=module.nom_mod and etudiant.cin=note.cin) order by nom_mod";

    $reqst=$bdd->prepare($sql);
    $reqst->execute();

    echo "</br></br><center ><b>RELEVE DE NOTES</b> </center></br></br>";

    echo "<b>". $_SESSION['nom']." ".$_SESSION['prenom']."</b>";
    echo "</br></br>Né le: ".$row['date_naiss']."&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp"."à :&nbsp ".$row['lieu_naiss']."</br></br>";
    echo "CIN : ".$row['cin']."</br></br>";
    echo "inscrit en :<b>".$row['filier']."</b></br>abotenu les notes suivantes:</br></br>";
    $note=$reqst->fetch();
    echo sizeof($note);
    print_r($note);
    while($note=$reqst->fetch())
    {
    echo "sunshine";
    }

    echo "<center> <table bgcolor='#008080' bordercolor='#FF9F00' cellpadding='2' border='3' cellspacing='3'>
    <tr>
    <th>MODULES</th>
    <th>MATIERES</th>
    <th>NOTES</th
    </tr>";

    }

    sil vous plai la requete $sql est esecute avec succe en phpmyadmin mais avec php na pas marché

    echo "</table></center>"
    ?>
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. A.Nonymous
     
    $strSQL = "
    select
    nom ,prenom ,lieu_naiss,date_naiss ,etudiant.cin ,semestre,filier
    from etudiant
    join (
    SELECT cin,res2.num_sem as semestre ,annee
    FROM (
    SELECT * FROM semestre where annee='$ann'
    ) res1
    join (
    SELECT * FROM inscrit where num_sem='$sem'
    ) res2 on res1.num_sem=res2.num_sem
    )res3 on etudiant.cin='$cin'

    Cela n'a rien à voir avec le SQL que j'ai proposé.
    Pourquoi autant utiliser les sous-résultats SQL ? Ils n'ont aucune utilité ici; je dirais même qu'on en abuse. Il vaut mieux savoir d'abord maîtriser les jointures avant d'y avoir recours.
    0
  7. wikilili Messages postés 274 Statut Membre 2
     
    s'il vous plait j'utilise deux requete et lorsque j'affiche le resulta par exemple $tab2=res2->fetch
    print_r(tab2)
    il m'affiche le resumtat de la premiere
    requete
    0
    1. A.Nonymous
       
      Quelle 1ère requête ?
      D'où vient ce $res2 ?

      J'ose espérer qu'il ne s'agit pas du nom d'alias donné au sous-résultat SQL, si ?
      0
  8. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    Bonjour,

    cette requête ??

    /*$strSQL ="SELECT cin,num_sem semestre,annee FROM inscrit ins, (
    SELECT *
    FROM 'semestre'
    WHERE (
    num_sem ='$sem'
    and annee ='$ann'
    )
    )tem
    WHERE ( ins.num_sem = tem.num_sem)
    ";*/ 


    ????

    Cherchez.... c'est quoi ce )tem ????
    -1