par Bisvan » 05 déc. 2006, 14:22
par albat » 05 déc. 2006, 14:20
par Bisvan » 05 déc. 2006, 14:16
par albat » 05 déc. 2006, 14:13
par Bisvan » 05 déc. 2006, 14:10
//boucle1 if($i != 0){ //boucle2 if($lettres % $nbCols == 0) { } else { } //FIN BOUCLE 2 } //FIN BOUCLE 1
par Bisvan » 04 déc. 2006, 12:48
par Ajoloca » 04 déc. 2006, 12:32
par Bisvan » 04 déc. 2006, 12:28
par albat » 04 déc. 2006, 12:28
par Ajoloca » 04 déc. 2006, 12:04
par Cyrano » 04 déc. 2006, 09:40
par Ajoloca » 03 déc. 2006, 23:48
Il y a un problème avec ton code Ajoloca : il ne tient pas compte du nombre de cellules et dans l'exemple, la dernière ligne n'a qu'une seule cellule au lieu de 2 : le code n'est pas conforme et par conséquent encore moins valide.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="generator" content="Bluefish 1.0.7"/> <meta name="author" content="José LOPEZ"/> <meta name="date" content="2006-12-04T07:31:42+0100"/> <meta name="copyright" content=""/> <meta name="keywords" content=""/> <meta name="description" content=""/> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8"/> <meta http-equiv="content-style-type" content="text/css"/> <meta http-equiv="expires" content="0"/> <!--<meta http-equiv="refresh" content="5; URL=http://"/>--> <title>Prenoms</title> <style type="text/css"> td { border : solid 1px; vertical-align: top; } </style> </head> <body> <?php // Connexion à la base et extraction des données $cnx = mysql_connect('localhost', '****', '****') or die ('ERR_CNX <br />' . mysql_error()); mysql_select_db('test', $cnx) or die('ERR_CHOIX_DB <br />' . mysql_error()); $qrySel = 'SELECT * FROM prenoms ORDER BY prenom'; $result = mysql_query($qrySel) or die('ERR_SQL : ' . $qrySel . '<br />' . mysql_error()); /* * Nombre de colonnes par ligne. * * Si on désire un autre nombre de colonnes dans la ligne * Il suffit de modifier la valeur de cette variable * sans toucher au reste du code */ $nbCols = 2; // Lettres au départ. On considère que minimum un prénom $lettres = 0; // Permet de sortir du traitement le premier prénom $i = 0; $derniereInitiale = ''; // Première intiale = chaîne vide // construction du tableau echo '<table><tr><td>'; // Boucle sur les enregistrements trouvés while($row = mysql_fetch_assoc($result)){ // Récupération de l'initial du prénom en cours $initialeActuelle = strtoupper(substr($row['prenom'], 0, 1)); // Si changement d'initiale if($initialeActuelle != $derniereInitiale){ //Si Pas le premier pénom if($i != 0){ if($lettres % $nbCols == 0){// Si on doit changer de ligne echo '</td></tr><tr><td>'; } else { // On doit changer de colonne echo '</td><td>'; } } // Incrémentation du nombre de lettres (pour gérer le nombre de colonnes) $lettres++; // Mémorisation de la nouvelle initiale $derniereInitiale = $initialeActuelle; // Affichage de la première echo '<b>LETTRE ' . $derniereInitiale . '</b><br />'; } // C'est plus le premier prénom $i = 1; //Affichage du prénom echo $row['prenom'] . '<br />'; } // Fermeture de la dernière colonne remplie echo '</td>'; // On rempli toutes les colonnes de la ligne avec un espace insecable while(($lettres) % $nbCols != 0){ echo '<td> </td>'; // Le nombre de lettres doit être incrémenté // Il détermine le point d'arrêt $lettres++; } ?> <!-- Fermeture de la table --> </tr></table> </body> </html>
par Cyrano » 03 déc. 2006, 23:27
par Bisvan » 03 déc. 2006, 23:26
par Ajoloca » 03 déc. 2006, 23:25