Titre: Tableau array
Posté par: marygil le le 05-10-2009 a 18:05:07
Bonjour,
Pouvez vous m'aider à mettre en place mon tableau. C'est pour afficher des dates de naissance dans un tableau via un formulaire. J'essaie de comprendre le PHP mais ce n'ai pas toujours simple. Merci beaucoup de votre aide.
Code:
<?php $mois = array ( 'janvier', 'fevrier', 'mars', 'avril', 'mai', 'juin', 'juillet', 'aout', 'septembre', 'octobre', 'novembre', 'decembre' );
$resultats = $connexion->query(" SELECT * FROM cruet_membre WHERE `cruet_membre`.`id` <> 0 AND `cruet_membre`.`membre` <> 'sortant' AND `cruet_membre`.`nom` <> 'ADMIN' ORDER BY nom, prenom ASC"); $nb = $resultats->setFetchMode(PDO::FETCH_OBJ);
$tableau = array();
while ($user = $resultats->fetch()) { $exp = explode("-",$user->naissance); $mois_user = $exp[1];
/* Si la date est du genre JJ-MM-AAAA $exp = explode("-",$user->naissance); $mois_user = $exp[1]; */ $tableau[$mois_user][] = $user; } ?>
<table id="anniversaire" width='100%'> <tr>
<?php for($i=0;$i<12;$i++) {
if($i%3 == 0 && $i != 0) echo '</tr><tr>';
echo '<td valign="top"><center><div style="background: #E0FFFF; padding: 3px;"><b><u>JANVIER</u></b></div>';
foreach($tableau[ $i ] as $user) { echo $user->naissance.' '.$user->nom. ' ' .$user->prenom.' <br />'; }
echo '</td>';
} ?>
</tr> </table>
|
|
|
Titre: Re:Tableau array
Posté par: herlock31 le le 06-10-2009 a 09:34:38
| Vous voulez faire quoi exactement ? |
Titre: Re:Tableau array
Posté par: marygil le le 06-10-2009 a 09:58:39
Bonjour et merci
En fait je veux afficher dans un tableau les dates de naissance de tous les membres de mon association. voilà ce que j'ai mis en place un tableau, enfin avec des recherche sur le net car je débute en php ce qui est simple ça peux aller mais sinon..........
Merci beaucoup de m'aider.
Code:
$NbrLigne = 4; $tableau = array ( 'JANVIER', 'FEVRIER', 'MARS', 'AVRIL', 'MAI', 'JUIN', 'JUILLET', 'AOUT', 'SEPTEMBRE', 'OCTOBRE', 'NOVEMBRE', 'DECEMBRE' ); $resultats = $connexion->query(" SELECT * FROM cruet_membre WHERE `cruet_membre`.`id` <> 0 AND `cruet_membre`.`membre` <> 'sortant' AND `cruet_membre`.`nom` <> 'ADMIN' ORDER BY nom, prenom ASC"); $nb = $resultats->setFetchMode(PDO::FETCH_OBJ);
$NbreData = sizeof($tableau); $NbrCol = 0;
if ($NbreData != 0) { $k = 0; // indice du tableau echo '<table id="anniversaire" width="100%"><tr>'; while ($k < $NbreData) { echo '<td valign="top">'; echo '<table id="anniversaire" width="100%">'; for ($i=1; $i<=$NbrLigne; $i++) { if ($k < $NbreData) { echo '<tr><td><center><div style="background: #E0FFFF; padding: 3px;">';
// DONNEES A AFFICHER dans la cellule echo $tableau[$k];
echo '</td></tr></div>'; $k++; } if ($i == $NbrLigne) { echo '</table>'; echo '</td>'; } } $NbrCol++; } echo '</tr></table>'; } ?>
|
|
|
Titre: Re:Tableau array
Posté par: marygil le le 06-10-2009 a 09:59:49
J'ai oublié dans le tableau il faut que ça affiche.....
echo $user->naissance.' '.$user->nom. ' ' .$user->prenom.' <br />';
merci |
Titre: Re:Tableau array
Posté par: herlock31 le le 06-10-2009 a 11:43:22
bien compliqué le code, je vais essayé de faire bien plus simple. Par contre pour débuter inutile de dev directement avec PDO
Code:
<?php $connect = mysql_connect('localhost','root',''); mysql_select_db('tabase');
//un tableau commence à donc ajouter une première valeur vide pour que janvier soit en position 1 $tableau = array ( '', 'JANVIER', 'FEVRIER', 'MARS', 'AVRIL', 'MAI', 'JUIN', 'JUILLET', 'AOUT', 'SEPTEMBRE', 'OCTOBRE', 'NOVEMBRE', 'DECEMBRE' ); $resultats = mysql_query(" SELECT * FROM cruet_membre WHERE `cruet_membre`.`id` <> 0 AND `cruet_membre`.`membre` <> 'sortant' AND `cruet_membre`.`nom` <> 'ADMIN' ORDER BY nom, prenom ASC", $connect); $nb = mysq_num_row($resultats);
if ($nb>) { echo '<table id="anniversaire" width="100%"> <tr> <td>Date naissance</td> <td>Nom</td> <td>Prenom</td></tr>'; while ($rst = mysql_fetch_object($resultats, $connect)={ echo '<tr>'; list($annee, $mois, $jour) = explode('-', $rst->TonChampDate); //permet de récupérer de facon séparer l'année, le mois et le jour de la date //(int)$mois permet de convertir 01 en entier donc 1 utilise pour le tableau echo '<td>'.$jour.'/'.$tableau[(int)$mois].'/'.$annee.'<td>'; echo '<td>'.$rst->TonChampNom.'<td>'; echo '<td>'.$rst->TonChampPrenom.'<td>'; echo '</tr>'; } echo '</table>'; } mysql_close($connect); ?> |
|
Code fait de tête donc à tester |
Titre: Re:Tableau array
Posté par: marygil le le 06-10-2009 a 20:49:06
Bonjour et merci beaucoup de ta réponse.
Il y a une erreur de syntax au niveau du if ($nb>).........
Si tu peux avec un peu de temps essayer de me trouver cette erreur. Sinon ton code est très clair. Merci
|
Titre: Re:Tableau array
Posté par: herlock31 le le 06-10-2009 a 20:51:44
Code:
$nb = mysql_num_row($resultats);
if ($nb>0)
|
|
Je l'ai tapé rapidement et de tête |
Titre: Re:Tableau array
Posté par: marygil le le 06-10-2009 a 20:58:44
| C'est encore moi cela me met une autre erreur c'est dans le while maintenant? |
Titre: Re:Tableau array
Posté par: herlock31 le le 06-10-2009 a 20:59:41
while ($rst = mysql_fetch_object($resultats, $connect){
un = en trop |
Titre: Re:Tableau array
Posté par: marygil le le 06-10-2009 a 21:17:16
ha oui puis il manquait une ) à la fin.............
maintenant un autre p'tit problème excuse moi encore
Ca m'indique une erreur à cette ligne $nb = mysq_num_row($resultats);
l'erreur: Fatal error: Call to undefined function mysq_num_row() |
Titre: Re:Tableau array
Posté par: herlock31 le le 06-10-2009 a 21:25:57
je te l'ai corrigé deux ou trois messages plus haut
mysql_num_row manque le l |
Titre: Re:Tableau array
Posté par: marygil le le 06-10-2009 a 21:38:42
| Excuse moi j'ai pas compris ton dernier post ? |
Titre: Re:Tableau array
Posté par: herlock31 le le 06-10-2009 a 21:39:25
| $nb = mysql_num_row($resultats); |
Titre: Re:Tableau array
Posté par: marygil le le 06-10-2009 a 21:50:18
J'avais pas vu qu'il manquait le L
Mais malheureusement ça m'affiche toujours la même erreur à cette même ligne?
Fatal error: Call to undefined function mysql_num_row() |
Titre: Re:Tableau array
Posté par: herlock31 le le 06-10-2009 a 21:56:40
ah j'ai été voir la doc, manque le s
$nb = mysql_num_rows($resultats); |
Titre: Re:Tableau array
Posté par: marygil le le 06-10-2009 a 22:19:06
Maintenant je pense que c'est une question de connexion à ma base, pourtant j'ai bien mis le nom de ma base?
car sur cette ligne ça me met un warning ? while ($rst = mysql_fetch_object($resultats, $connect))
Warning: mysql_fetch_object() expects parameter 2 to be string, resource given |
Titre: Re:Tableau array
Posté par: herlock31 le le 06-10-2009 a 22:24:36
| envoi moi ton script par mail, je regarderai demain matin la je coupe l'ordi pour aujroud'hui |
Titre: Re:Tableau array
Posté par: marygil le le 06-10-2009 a 22:30:40
je te remercie
Code:
<?php $connect = mysql_connect('localhost','root',''); mysql_select_db('cliquedecruet');
//un tableau commence à donc ajouter une première valeur vide pour que janvier soit en position 1 $tableau = array ( '', 'JANVIER', 'FEVRIER', 'MARS', 'AVRIL', 'MAI', 'JUIN', 'JUILLET', 'AOUT', 'SEPTEMBRE', 'OCTOBRE', 'NOVEMBRE', 'DECEMBRE' ); $resultats = mysql_query(" SELECT * FROM cruet_membre WHERE `cruet_membre`.`id` <> 0 AND `cruet_membre`.`membre` <> 'sortant' AND `cruet_membre`.`nom` <> 'ADMIN' ORDER BY nom, prenom ASC", $connect); $nb = mysql_num_rows($resultats);
if ($nb>0) { echo '<table id="anniversaire" width="100%"> <tr> <td>Date naissance</td> <td>Nom</td> <td>Prenom</td></tr>'; while ($rst = mysql_fetch_object($resultats, $connect)) { echo '<tr>'; list($annee, $mois, $jour) = explode('-', $rst->naissance); //permet de récupérer de facon séparer l'année, le mois et le jour de la date //(int)$mois permet de convertir 01 en entier donc 1 utilise pour le tableau echo '<td>'.$jour.'/'.$tableau[(int)$mois].'/'.$annee.'<td>'; echo '<td>'.$rst->nom.'<td>'; echo '<td>'.$rst->prenom.'<td>'; echo '</tr>'; } echo '</table>'; } mysql_close($connect); ?>
|
|
|
Titre: Re:Tableau array
Posté par: marygil le le 06-10-2009 a 22:37:53
En fait encore une info. Les personnes dont ils sont nés en JUIN vont dans le mois de JUIN etc... Merci |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|