Aide tableau php
Résolu
cedric91
Messages postés
64
Date d'inscription
Statut
Membre
Dernière intervention
-
cedric91 Messages postés 64 Date d'inscription Statut Membre Dernière intervention -
cedric91 Messages postés 64 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous
je flanche sur une partie de code
j'ai un annuaire ou les categories sont sur un tableau a deux colonnes et je ne trouve pas le moyen pour qu'il soit en trois colonnes.
je vous met la partie du code, si quelqu'un avait une idée, ce serait sympa
merci
je flanche sur une partie de code
j'ai un annuaire ou les categories sont sur un tableau a deux colonnes et je ne trouve pas le moyen pour qu'il soit en trois colonnes.
je vous met la partie du code, si quelqu'un avait une idée, ce serait sympa
merci
if ($_GET['menu']=="") { $idmenu=$_GET['id']; echo "<a href='".TWO_FOLDER."'>Accueil</a>"; while ($idmenu!=0) { $gen_menu=@mysql_fetch_row(@mysql_query("SELECT * FROM ".$table_prefix."cat WHERE compteur='$idmenu'",$db)); $tabmenu[]="<a href='".fonc_url($gen_menu[0])."-$gen_menu[2].html'>$gen_menu[0]</a>"; $idmenu=$gen_menu[1]; } for ($t=count($tabmenu)-1; $t>=0; $t--) echo " - $tabmenu[$t]"; echo "<br /><br />"; $res=@mysql_query("SELECT * FROM ".$table_prefix."cat WHERE inside='".$_GET['id']."' ORDER BY name ASC",$db); if (@mysql_num_rows($res)!=0) { echo "<table width='100%' cellpadding='7'>"; for ($i=0; $i<mysql_num_rows($res); $i++) { if ($i % 2 == 0) echo "<tr>"; $list=@mysql_fetch_row($res); $res_souscat=@mysql_query("SELECT * FROM ".$table_prefix."cat WHERE inside='$list[2]' ORDER BY name ASC LIMIT 10",$db); echo "<td valign='top'><img src='design/folder.png' alt='' /> <a href='".fonc_url($list[0])."-$list[2].html'>$list[0]</a> "; $list_cat[]=$list[2]; while (list($not,$id_cat) = each ($list_cat)) { $res_inside=@mysql_query("SELECT compteur FROM ".$table_prefix."cat WHERE inside='$id_cat'",$db); for ($h=0;$h<mysql_num_rows($res_inside);$h++) { $list_inside=@mysql_fetch_row($res_inside); $list_cat[]=$list_inside[0]; } } $query_nbrsites="SELECT compteur FROM ".$table_prefix."sites WHERE "; $nbr_cat=sizeof($list_cat); for ($nbc=0;$nbc<$nbr_cat-1;$nbc++) $query_nbrsites .= "category = '$list_cat[$nbc]' or "; $query_nbrsites .= "category = '$list_cat[$nbc]'"; $nbrsites=mysql_num_rows(@mysql_query($query_nbrsites,$db)); $list_cat=""; echo "($nbrsites)<br />"; if (@mysql_num_rows($res_souscat)!=0) { for ($j=mysql_num_rows($res_souscat); $j>0; $j--) { $list_cat_souscat=@mysql_fetch_row($res_souscat); echo "<a href='".fonc_url($list_cat_souscat[0])."-$list_cat_souscat[2].html'>$list_cat_souscat[0]</a>"; if ($j!=1) echo ", "; } } echo "</td>"; if ($i % 2 != 0) echo "</tr>"; } if ($i % 2 != 0) echo "</tr>"; echo "</table>"; }
A voir également:
- Aide tableau php
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer tableau excel sur une page - Guide
18 réponses
Pwah... t'as trouvé ou ce code ? il est vraiment affreux....
Tu veux pas le refaire ? ou qu'on t'aide à le refaire ?
Edit:
@mysql_fetch_row(@mysql_query());
sérieux quoi xD
Tu veux pas le refaire ? ou qu'on t'aide à le refaire ?
Edit:
@mysql_fetch_row(@mysql_query());
sérieux quoi xD
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
genial !!! toi tu peux peut etre parce que tu connais bien le php mais, malheureusement, c'est pas mon cas, donc si tu peux juste me dire quoi changer pour avoir mes 3 colonnes, ce serait super cool de ta part
Tu veux pas le refaire ? ou qu'on t'aide à le refaire ? ...
Ca doit se trouver aux lignes:
a mon humble avis, il les modifier de la sorte:
EDIT:
De même que les lignes en bas de fichier:
Remplace le "% 2" par "% 3" . Je peux rien te garantir, je peux pas tester le code vu que j'ai pas la base de donnée.
Mais encore une fois... c'est affreux
Ca doit se trouver aux lignes:
for ($i=0; $i<mysql_num_rows($res); $i++) { if ($i % 2 == 0) echo "<tr>";
a mon humble avis, il les modifier de la sorte:
for ($i=0; $i<3; $i++) { if ($i % 3 == 0) echo "<tr>";
EDIT:
De même que les lignes en bas de fichier:
echo "</td>"; if ($i % 2 != 0) echo "</tr>"; } if ($i % 2 != 0) echo "</tr>";
Remplace le "% 2" par "% 3" . Je peux rien te garantir, je peux pas tester le code vu que j'ai pas la base de donnée.
Mais encore une fois... c'est affreux
je l'ai dis plus haut, je suis novice en php
j'ai testé ta solution, c'est pas bon, ca reste sur deux colonnes et au lieu d'avoir 12 categorie, j'en ai plus que trois
j'ai testé ta solution, c'est pas bon, ca reste sur deux colonnes et au lieu d'avoir 12 categorie, j'en ai plus que trois
Tu as déja un créer un annuaire avec ce système ou tu commences juste à le monter ? Encore une fois, je ne peux que te le déconseiller vivement... il existe sans doute de biens meilleurs systèmes (celui-ci niveau sécurité c'est un 0)....
Si tu veux vraiment utiliser ça je te file quand même volontier un coup de main hein :p
Si tu veux vraiment utiliser ça je te file quand même volontier un coup de main hein :p
celui la, je le monte car je viens de changer de serveur qui tourne avec php5 et l'ancien script n'est pas compatible, celui la est la derniere version qu'ils ont mis en ligne mais comme son nom l'indique, il est light.
niveau securité, j'ai trouvé les modifs a faire mais je bloque sur la presentation.
ce qui est bien avec ce script, c'est qu'il est entiere personalisable et c'est pas une usine a gaz comme arfoo et compagnie. De plus, ce script est assez facile a integer dans mon site
maintenant, si tu trouves pas, c'est pas grave
le pire, c'est que je suis sur que c'est un truc tout simple
niveau securité, j'ai trouvé les modifs a faire mais je bloque sur la presentation.
ce qui est bien avec ce script, c'est qu'il est entiere personalisable et c'est pas une usine a gaz comme arfoo et compagnie. De plus, ce script est assez facile a integer dans mon site
maintenant, si tu trouves pas, c'est pas grave
le pire, c'est que je suis sur que c'est un truc tout simple
Quel est le comportement que tu as obtenu en rétablissant la ligne : for ($i=0; $i<mysql_num_rows($res); $i++) mais en gardant les modifs que je t'ai décrites avant ?
Donc tu as bien qqch comme ça ?
echo "<table width='100%' cellpadding='7'>"; for ($i=0; $i<mysql_num_rows($res); $i++) { if ($i % 3 == 0) echo "<tr>"; $list=@mysql_fetch_row($res); [...] //La suite en bas du code } } echo "</td>"; if ($i % 3 != 0) echo "</tr>"; }
Merci de bien corriger la ligne : if ($i % 3 != 0) echo "</tr>";
située en bas du code que tu as coller dans ton post..
Elle se trouve ligne 186 du index.php
C'est elle qui fait tout me*d*r...
Si tu regarde le code source de la page générée, ca donne :
Du coup il génère bien 3 colonnes mais la fermeture du tr ne fonctionne pas correctement.
située en bas du code que tu as coller dans ton post..
Elle se trouve ligne 186 du index.php
C'est elle qui fait tout me*d*r...
Si tu regarde le code source de la page générée, ca donne :
<table width='100%' cellpadding='7'> <tr> <td valign='top'> ... </td> <td valign='top'> ... </td> </tr> <--- Il manque un TR après ! <td valign='top'> ... </td> </tr>
Du coup il génère bien 3 colonnes mais la fermeture du tr ne fonctionne pas correctement.