Requete php / sql

Fermé
exiled Messages postés 5 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 26 juin 2009 - 26 juin 2009 à 08:52
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 - 26 juin 2009 à 09:58
Bonjour,
voici un petit probleme que j'ai rencontré, le code

voici la premiere partie du code basique , l'erreur ne vien pas de la

      Date de la demande : <input type=text name="datedemande" > format : aaaa-mm-jj
<br>       Personne chargée : <input type=text name="personnedemande">
<br>       Num du collège : <select name="collegedemande">
<option value=""></option>
<?Php
$reqcollege="SELECT numRNE from colege";
$resultcollege=mysql_query($reqcollege);
while($finicollege = mysql_fetch_array($resultcollege)) {
$lstnumrne=$finicollege[0];
?>
<option value=" <?php echo $lstnumrne; ?>"><?php echo $lstnumrne ?></option>
<?Php
}
?>
</select>
<br>       Type de demande : <select name="typedemande">
<option value=""></option>
<?Php
$req2="SELECT numtype from typedemande";
$result2=mysql_query($req2);
while ($fini2= mysql_fetch_array($result2)) {
$lstnumtype=$fini2[0];
?>
<option value=" <?php echo $lstnumtype; ?>"><?Php echo $lstnumtype ?></option>
<?php
}
?></select>
<br>       état de la demande <select name="etatdemande">
<option value=""></option>
<option value="nouvelle">Nouvelle demande</option>
<option value="encours"> demande en cours </option>
<option value="cloturee">demande cloturée</option></select><br>
      <input type=submit name="rechercher" value="lancer la recherche">
<?Php
if(isset($_POST['rechercher'])){
?>
<table class="table">
<tr><td class="td2">Num</td><td class="td2">date</td>
<td class="td2">description</td><td class="td2">personne chargée</td>
<td class="td2">collège</td><td class="td2">type</td>
<td class="td2">num réponse</td><td class="td2">Etat</td></tr>

ensuite voila la deuxieme partie qui consista a créer les conditions de la requete l'erreur ne vient pas nonplus de la :

?php
$nbchamp = 0;
$reqchamp = "";
if($_POST['datedemande'] != "")
{
$datedemande=$_POST['datedemande'];
if($nbchamp == 0)
{
$reqchamp = "where datedemande = ".$datedemande." ";
}
$nbchamp = $nbchamp +1;
}

if($_POST['personnedemande'] != "")
{
$personnedemande=$_POST['personnedemande'];
if($nbchamp == 0)
{
$reqchamp = "where personnechargee = ".$personnedemande." ";
}
else
{
$reqchamp = $reqchamp."and personnechargee = ".$personnedemande." ";
}
$nbchamp = $nbchamp +1;
}

if($_POST['collegedemande'] != "")
{
$collegedemande=$_POST['collegedemande'];
if($nbchamp == 0)
{
$reqchamp = "where numRNE = ".$collegedemande." ";
}
else
{
$reqchamp = $reqchamp."and numRNE = ".$collegedemande." ";
}
$nbchamp = $nbchamp +1;
}

if($_POST['typedemande'] != "")
{
$typedemande=$_POST['typedemande'];
if($nbchamp == 0)
{
$reqchamp = "where numtype = ".$typedemande." ";
}
else
{
$reqchamp = $reqchamp."and numtype = ".$typedemande." ";
}
$nbchamp = $nbchamp +1;
}

if($_POST['etatdemande'] != "")
{
$etatdemande=$_POST['etatdemande'];
if($nbchamp == 0)
{
$reqchamp = "where etat = ".$etatdemande." ";
}
else
{
$reqchamp = $reqchamp."and etat = ".$etatdemande." ";
}
$nbchamp = $nbchamp +1;
}

mais apparament un souci avec ce bout de code a la fin :

---------------> $req = "Select * from demande "."$reqchamp"." "; <-------------------
echo $req;
$result = mysql_query($req);
$fini=mysql_fetch_array($result);
while ($fini)
{
$numdemande=$fini[0];
$datedemande=$fini[1];
$descriptiondemande=$fini[2];
$personnechargee=$fini[3];
$numRNE=$fini[4];
$numtype=$fini[5];
$numreponse=$fini[6];
$numetat=$fini[7];
?>

<td class="td"><?Php echo $numdemande; ?></td><td class="td"><?Php echo $datedemande; ?></td>
<td class="td"><?Php echo $descriptiondemande; ?></td><td class="td"><?php echo $personnechargee; ?></td>
<td class="td"><?Php echo $numRNE; ?></td><td class="td"> <?Php echo $numtype; ?></td>
<td class="td"><?Php echo $numreponse; ?></td><td class="td"><?php echo $numetat; ?></td></tr>
<?Php
$fini=mysql_fetch_array($result);
}
}
?>

alors voila, la ligne entouré des ------> <--------- pose u petit probleme :
le code marche quand je choisi un numéro de type de demande par exemple mais pour les "varchar" ...
echo $req quand je choisi un etat de demande :

Select * from demande where etat = nouvelle ;
cette requete ne marche pas , maintenant si je remplace $req par :
Select * from demande where etat = 'nouvelle' ;
la la requete marche, normal c'est la meme sous mysq , kkun aurait t-il donc une solution pour que

$req = "Select * from demande "."$reqchamp"." "; puisse fonctionner ?
A voir également:

3 réponses

Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
26 juin 2009 à 09:32
faut pas mettre des cote entre les guillemets?
0
exiled Messages postés 5 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 26 juin 2009
26 juin 2009 à 09:40
réfléchi un peu stp avant de répondre si je met
$req = "Select * from demande "." ' $reqchamp ' "."
sa va me donner
select * from demande ' where etat= nouvelle '

merci c'est bon dsl je viens de trouver autrement
0
Kentin76250 Messages postés 235 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 12 novembre 2014 5
26 juin 2009 à 09:58
euh lol j'ai pas dit ca comme ca mdr no stress
0