Page 1 sur 1

recherche conditionnelle dans une table

Posté : 07 sept. 2005, 15:46
par 001cod10
J'ai un réel problème sur les dates. Pouvez vous m'aider.
Ma table contient un champ datenaissance sous cette forme aaaa/mm/jj
voici le script que l'utilisateur utilisera

<HTML>
<HEAD>
</HEAD>
<FORM action="rechercher.php" method="POST">
<TABLE border="0" align="center" width="100%">
<TR>
<TD> Je suis</TD>
<TD > 
Homme<INPUT type="radio" name="" value="Femme">
Femme<INPUT type="radio" name="" value="Homme">
</TD>
</TR>
<TR>
<TD>Je recherche</TD>
<TD > 
Femme<INPUT type="radio" name="" value="Femme">
Homme<INPUT type="radio" name="" value="Homme">
</TD>
<TD></TD>
</TR>
<TR>
<TD>Age</TD>
<TD>
<SELECT name="datenaissance">
<OPTION value="18">18-24</OPTION> 
<OPTION value="25">25-29</OPTION>
<OPTION value="30">30-34</OPTION>
<OPTION value="35">35-39</OPTION>
<OPTION value="40">40-44</OPTION>
<OPTION value="45">45-49</OPTION>
<OPTION value="50">50-54</OPTION>
<OPTION value="55">55 et plus</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD>PAYS</TD>
<TD>
<SELECT name="pays ">
<OPTION value="Allemagne">Allemagne</OPTION> 
<OPTION value="Belgique">Belgique</OPTION>
<OPTION value="Etats-Unis">Etats-unis</OPTION>
<OPTION value="France">France</OPTION>
<OPTION value="Pays-bas">Pays-bas</OPTION>
<OPTION value="Suisse">Suisse</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD>Photo</b>
<INPUT type="checkbox" value="Photo"></TD>
</TR>
<TD></TD>
<TD><INPUT type="submit" name="Rechercher" tabindex="" align="left"></TD>
<TD></TD>
</TR>
</TABLE>
</FORM>
</HTML>

voici le script de recherche

<? 

$pseudo = isset($_POST["pseudo"]) ? $_POST["pseudo"] : ""; 

$jesuis = isset($_POST["jesuis"]) ? $_POST["jesuis"] : ""; 

$datenaissance=isset($_POST["datenaissance"]) ? $_POST["datenaissance"] : "";

$datenaissance1=$datenaissance+5;

// information pour la connection à le DB

$host = 'localhost';

$user = 'root';

$pass = '';

$db = 'nombase';

// connection à la DB

$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );

mysql_select_db($db) or die ('Erreur :'.mysql_error());

// requête SQL qui compte le nombre total d'enregistrement dans la table et qui

//récupère tous les enregistrements

$select = "SELECT datenaissance,jesuis,pseudo,ville,pays,photo FROM Table WHERE (datenaissance BETWEEN $datenaissance AND $datenaissance1) AND jesuis='$jesuis'";

$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

$total = mysql_num_rows($result);

// si on a récupéré un résultat on l'affiche.

if($total) { 

// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne. 

while ($row = mysql_fetch_array($result)) {

echo '<table border="0" bgcolor="">'."\n";

echo '<tr>';

echo '<td><img src="data/' . $row["photo"] . ' " width="85" height="114"></td>';

echo'</tr>';

echo '<tr>';

echo '<td><font color="#023161"><b>'.$row["pseudo"].'</font></b> '; 

echo '<td></td>';

echo '</tr>'; 

echo '<tr>';

echo '<td></td>';

echo '<td><font color="#023161"><b>VILLE</font></b></td>'; echo '<td>'.$row["ville"].'</td>';

echo'</tr>';

echo '<tr>';

echo '<td></td>';

echo '<td><font color="#023161"><b>PAYS</font></b></td>'; echo '<td>'.$row["pays"].'</td>'; 

echo'</tr>';

echo '</table>'."\n";

}

// on libère le résultat

mysql_free_result($result);

}

//mysql_close();

?>

Posté : 07 sept. 2005, 15:54
par Cyrano
Deux choses :
- Indente ton code au lieu de l'éparpiller
- utilise le bouton [php] au lieu de [code], on aura en plus une coloration syntaxique

Pour finir, quelle est au juste la question ?

Posté : 07 sept. 2005, 15:58
par 001cod10
D'accord