[PHP] Probleme mise en page etrange

Tyler49 -  
 Tyler49 -
Bonjour à vous ,

Sur un script de moteur de recherche que j'ai modifié j'ai un problème de mise en page, je m'explique

Je recherche les information entre deux dates saisies, apres la saisir mon affichage fonctionne tres bien quand j'utilise ce script :

<?php echo $donnees['titre']; ?> <?php echo $donnees['nom']; ?> <?php echo $donnees['prenom']; ?> - <?php echo $donnees['prix']; ?>€</strong>

Je souhaite faire une mise en page propre et passé par un tableau donc j'ai fait cela :

<?php
echo '<center><table bgcolor="#FFFFFF" border="1" cellpadding="0" style="border-color:#999" width="800px">'."\n";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes

echo '<td background="img/fdc.png" width="56%" align="center"><b><u>Client</u></b></td>';
echo '<td background="img/fdc.png" "width="20%" align="center"><b><u>Ville</u></b></td>';
echo '<td background="img/fdc.png" width="12%" align="center"><b><u>Date & Heure</u></b></td>';
echo '<td background="img/fdc.png" width="12%" align="center"><b><u>Montant</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($donnees = mysql_fetch_array($query)) {

echo '<td bgcolor="#F9F9F9">'.$donnees['nom'].' '.$donnees['prenom'].'<i> ('.$donnees['titre'].')</i></td>';
echo '<td bgcolor="#F9F9F9">'.$donnees['ville'].'</td>';
echo '<td bgcolor="#F9F9F9">Le '.dateFR($donnees['date']).'<p>à '.$donnees['heure'].'</td>';
echo '<td bgcolor="#F9F9F9">'.$donnees['prix'].'€</td>';
echo '</tr>'."\n";

}
// fin du tableau.


// on libère l'espace mémoire alloué pour cette requête
echo '</table>';
}

?>

et la un grand mystrere qui m'obsede depuis plus de 24h00,je fait une recherche entre le X et Y, ce qui me devrait me donné 3 clients, hors dans le tableau je n'ai que 2 clients d'inserés mais ce qui es bizare c'est que mon compteur de résultat en trouve bien 3, en faite apres quelques test , il me zape automatiquement mon premier client et je ne sais pas pourquoi, donc je demande votre aide avant de devenir dingue

Merci à vous :)
A voir également:

8 réponses

Alkaaran Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   37
 
Heu il manque un pti quelque chose dans ton code : le début des balise <tr> ;)

Bon ça c'est pour la mise en page, ensuite ton erreur semble être plutôt dans la requête : pourrais tu nous la montrer ?
0
Tyler49
 
Je vais regardé cela, dans le requete je ne pense pas étant donné qu'avec cela

<?php echo $donnees['titre']; ?> <?php echo $donnees['nom']; ?> <?php echo $donnees['prenom']; ?> - <?php echo $donnees['prix']; ?>

Tous fonctionne normalement ai je faux ??

Merci à toi
0
Alkaaran Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   37
 
Cette ligne marche pour le premier client, puisque ca n'afiche que la premiere ligne de la requête.

Pour les deux autres tu es obligé d'utiliser un while et c'est la que la requête ne renvoie peut être que deux clients au lieu de trois.

Met tout de même les débuts de balise <tr> ils sont indispensables ;)
0
Tyler49
 
Voila la requete :

$query = mysql_query("SELECT * FROM client WHERE date BETWEEN '$date1' AND '$date2'") or die (mysql_error());
$nb_resultats = mysql_num_rows($query);
if($nb_resultats != 0)

Pour les TR ils sont bien présent dans mon script lol encore un truc etrange

Je te remercie de ton aide car la ...
0

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

Posez votre question
Alkaaran Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   37
 
$nb_resultats contient 3 ou 2 ?

Sinon poste la totalité de ton code que je voie comment tu fais tout ca :)
0
Tyler49
 
Bon courage lol,

En faite je t'explique avant :
- Moteur de recherche qui recherche (oui logique) entre deux dates.
- Une fois la recherche faite il m'affiche mes clients avec le montant de leurs factures.
- Une requete sert a additioné tous les facture des dates recherchés.
- Apres une calculatrice fait mon calcul concernant mes taxe


--------------------------------------------------------------------------------------------------

<?php
require('fonctions_dates.php');

if(isset($_POST['date1']) && $_POST['date2'] != NULL)
{
include('conf.php');
$date1 = htmlentities($_POST['date1'], ENT_QUOTES);
$date2 = htmlentities($_POST['date2'], ENT_QUOTES);


$query = mysql_query("SELECT * FROM client WHERE date BETWEEN '$date1' AND '$date2'") or die (mysql_error());
$nb_resultats = mysql_num_rows($query);
if($nb_resultats != 0)

{
function sans_accent($chaine)
{
$accent ="ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ";
$noaccent="aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyyby";
return strtr(trim($chaine),$accent,$noaccent);
}
?>
<?php
include('conf.php');
$requete=mysql_query("SELECT SUM(prix) FROM client WHERE date BETWEEN '$date1' AND '$date2'");
$donnee = mysql_fetch_array($requete);
$somme=$donnee['SUM(prix)'];
?>
<center>
<h3>Réultats de votre recherche.</h3>
<p>Nous avons trouvé <?php echo $nb_resultats;
if($nb_resultats > 1) { echo ' résultats '; } else { echo ' résultat '; }
?>
dans notre base de données. Voici le résultat :<br/>
<br/>
<?php
while($donnees = mysql_fetch_array($query))
{
?>
<br />


<?php echo $donnees['titre']; ?> <?php echo $donnees['nom']; ?> <?php echo $donnees['prenom']; ?> - <?php echo $donnees['prix']; ?>€


<?php
}
?>
<br/>
<br/><br />
<a href="recherche.php">Faire une nouvelle recherche</a></p>


<strong>[ Montant total de <?php echo($somme) ;?>€ ]</strong>
<p> </p>
<p> </p>
<form name="frm" method="post" action="" onSubmit="return testsubmit()">

<input name="heurenom" type="text" style="font-size:17px; background: url(../img/fdinputbleu.png); border:0px;"onkeyup="calcul();" value="<?php echo($somme) ;?>" size="3" />
<input name="c2" type="hidden" id="c2" value="21.3" />
<strong>X</strong>
21,3 € <strong>=</strong>
><input name="pheurenom" type="text"
onkeyup="calcul();" value="" size="6" readonly="readonly" />
<strong> /</strong> 100
<input name="c2b" type="hidden" id="c2b" value="100" />
</p>
<p><strong> =</strong></p>
<p><font color="red"><strong>TOTAL A PAYER :</strong></font></p>
<p> </p>
<p>

<input name="prix" type="text" style="font-size:16px; background: url(../img/fdinputrouge.png); border:0px;"onkeyup="calcul();" value="" size="5" readonly="readonly" />
<?php
}
else
{
?>
<h3>Pas de résultats</h3>
<p>Nous n'avons trouvé aucun résultats pour votre requête "<?php echo $_POST['requete']; ?>". <a href="recherche.php">Réessayez</a> avec autre chose.</p>
<?php
}
mysql_close();
}
else
{
?><center>
<p>Rechercher dans la base</p>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="Post">
<table width="431" height="161" border="0">
<tr>
<td colspan="2" align="center"><strong>Calcul des impots</strong></td>
</tr>
<tr>
<td width="175" align="right">Date de Début :</td>
<td width="240" align="center"><input type="text" name="date1" id="datepicker" /></td>
</tr>
<tr>
<td align="right">Date de Fin :</td>
<td align="center"><input type="text" name="date2" id="datepicker2" /></td>
</tr>
</table>
<INPUT border=0 src="../img/rechercher.png " type=image Value=submit align="middle"/>
</form>
<br />
<?php
}

?>
0
Alkaaran Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   37
 
Ok j'y vois un peu plus clair :) , mais tu n'a pas répondu à ma question, que t'affiche $nb_resultats ?

Et revérifie bien que toutes tes balises HTML soient bien ouvertes puis fermées (je vois un <p> non refermé par ex)
0
Tyler49
 
En faite j'ai repris tous à zero et j'ai réussi merci de ton aide :)
0