[RESOLU] while par rapport à la date

while par rapport à la date [RESOLU] - PHP - Programmation

Marsh Posté le 29-06-2004 à 11:42:11    

salut,
 
le but est d'affiché les 3 prochains évenements à venir par rapport à la date.
 
sachant que j'ai cela:

Code :
  1. <td>
  2.                   <?php while($row = mysql_fetch_array($res)){ ?>
  3.                   <table cellspacing="0" cellpadding="0">
  4.                     <tr>
  5.                       <td>
  6.         <font size="1"><strong><? echo ($row[ma_nom]) ?></strong></font>
  7.                       </td>
  8.                       <td>
  9.                         <div align="right">
  10.                         <?php echo date('d/m', $row           [dt_dat_debut_ouvac]); if($row[dt_dat_fin_ouvac] != '') ?>
  11.                         </div></td>
  12.                     </tr>
  13.                   </table>
  14.                   <?php }
  15.  ?>
  16.                 </td>


 
Pour l'instant ça en affiche qu'un.
J'en voudrais donc 2 en plus.
Vous pouvez m'orienter svp?


Message édité par kameha le 29-06-2004 à 15:19:18
Reply

Marsh Posté le 29-06-2004 à 11:42:11   

Reply

Marsh Posté le 29-06-2004 à 11:45:25    

ton code est totalement illisible.
 
Quand tu ouvres un bloc d'instruction avec {, referme le sans avoir ouvert et fermé plusieurs balises <?php ?>
 
Pour la réponse à ta question, cela doit surement venir de ta requête.


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 29-06-2004 à 11:52:00    

exact, mieux comme ça?

Code :
  1. <?php while($row = mysql_fetch_array($res)){
  2. echo '<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td><font size="1"><strong>';
  3. echo ($row[ma_nom]);
  4. echo '</strong></font></td><td><div align="right">';
  5. echo date('d/m', $row[dt_dat_debut_ouvac]); if($row[dt_dat_fin_ouvac] != '');
  6. echo '</div></td></tr></table>';
  7. }
  8. ?>


Message édité par kameha le 29-06-2004 à 11:53:41
Reply

Marsh Posté le 29-06-2004 à 11:56:28    

les 1000 echo servent ptetre a rien aussi non?

Reply

Marsh Posté le 29-06-2004 à 11:57:14    

ton code est bon, donc cela doit venir de la requete qui ne retourne qu'une seule entrée


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 29-06-2004 à 11:57:15    

if($row[dt_dat_fin_ouvac] != '') cette instruction ne fait rien
 
Tu écris un nouveau tableau à chaque tour de ta boucle while ? Pas très optimisé tout cela.
 
Ce que je te disais : si tu n'as qu'un seul événement qui s'affiche, cela doit venir de ta requête SQL qui n'en selectionne qu'un seul.


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 29-06-2004 à 11:58:19    

et j'ai une autre question:
echo ($row[ma_nom]);  
 
Si je veux qu'il me rajoute ... passé 20 caracteres, il suffit de bidouiller un if sur ma_nom?

Reply

Marsh Posté le 29-06-2004 à 12:01:23    

ok pour la requete, c'est fait merci
 
et pour ma_nom?


Message édité par kameha le 29-06-2004 à 12:05:10
Reply

Marsh Posté le 29-06-2004 à 12:05:58    

il faut controler la longueur de la chaine de caractères, la couper si besoin et ajouter alors "..."
 
les fonctions string


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 29-06-2004 à 13:53:09    

au secours, des fonctions strings yen a pas mal.
serais ce CHAR_MAX ?

Reply

Marsh Posté le 29-06-2004 à 13:53:09   

Reply

Marsh Posté le 29-06-2004 à 14:04:27    

pose toi les questions suivantes :
 
je veux la longueur d'une chaine. Comment dit on "chaîne" en anglais et comment dit on longueur ?
 
Je veux une partie de la chaine, donc une sous chaîne. comment dit on "sous" en anglais (c'est pas under qui veux dire "en dessous" )
 
Allez, pour être plus précis, les fonctions commencent par str et sub.
Les parcourir toutes améliorera tes connaissances car tu saura qu'elle existent et ce qu'elles font + ou -


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 29-06-2004 à 14:23:15    

c'est n'importe quoi ça?
if ($row[ma_nom] < 10)
{
echo ($row[ma_nom]);
}
else  
{
echo substr($row[ma_nom],0,10),"...";  
}

Reply

Marsh Posté le 29-06-2004 à 14:32:18    

la condition c'est du n'importe quoi


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 29-06-2004 à 14:37:04    

je sais jvois des if partout

Reply

Marsh Posté le 29-06-2004 à 14:39:38    

je te conseille de regarder de plus près la liste des fonctions sur les chaines de caractères? Tu devrait trouver la solution à ton probleme
http://www.php.net/manual/en/ref.strings.php


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 29-06-2004 à 14:42:23    

kameha a écrit :

c'est n'importe quoi ça?
if ($row[ma_nom] < 10)
{
echo ($row[ma_nom]);
}
else  
{
echo substr($row[ma_nom],0,10),"...";  
}


 
Il te faudrait peut-être une petite fonction qui te retourne la longueur d'une chaine.
 
Je ne te l'ai pas donnée car je ne vais tout de même pas faire ton boulot ...;)


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 29-06-2004 à 14:50:02    

strlen() me semble pas mal

Reply

Marsh Posté le 29-06-2004 à 14:50:32    

essaie et tu nous dira


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 29-06-2004 à 15:01:29    

une special pour T509
 
$row_len=strlen($row[ma_nom]);
if ($row_len < 10)
{
echo ($row[ma_nom]);
}
else  
{
echo substr($row[ma_nom],0,10),"...";  
}
 
avous que j'm'approche là


Message édité par kameha le 29-06-2004 à 15:02:54
Reply

Marsh Posté le 29-06-2004 à 15:04:07    

en plus ça marche, j'ai envie de pleurer d'émotion

Reply

Marsh Posté le 29-06-2004 à 15:12:18    

Lord ii a écrit :

la condition c'est du n'importe quoi


comment ne pas utiliser de condition quand il y en a une?

Reply

Marsh Posté le 29-06-2004 à 15:16:03    

il voulait dire que tu comparais 2 choses incomparable du type "si voiture < 10 alors ..."


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 29-06-2004 à 15:18:19    

ah oui
merci bien pour votre aide.
on retiens jamais mieux les choses qu'en mettant 3 plombes pour les trouver.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed