Php requete

Fermé
wikilili Messages postés 197 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 12 février 2014 - 22 mai 2012 à 16:10
 A.Nonymous - 23 mai 2012 à 19:57
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

wikilili Messages postés 197 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 12 février 2014 2
22 mai 2012 à 21:23
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
wikilili Messages postés 197 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 12 février 2014 2
22 mai 2012 à 21:28
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
$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
wikilili Messages postés 197 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 12 février 2014 2
23 mai 2012 à 15:58
<?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']."        "."à :  ".$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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
$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
wikilili Messages postés 197 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 12 février 2014 2
23 mai 2012 à 18:47
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
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
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
22 mai 2012 à 17:30
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