Meeuuh Posté 27 Janvier 2009 Posté 27 Janvier 2009 Bonjour, comme dans mon précédent sujet, j'essaye de transformer mes pages dynamiques en statiques. J'ai trouvé une technique avec ob_start() qui fonctionne très bien mais j'aimerais automatiser la création des pages. J'avais pensé avec un petit formulaire qui me permet de recréer les pages que j'ai envie avec un checkbox mais comme je me débrouille pas trop avec les formulaires, j'arrive juste à créer la dernière page sélectionné dans mon formulaire et non toutes celles avant. <form action="createtest.php" method="post"> <select name="category"> <option>test1</option><option>test2</option></select><select name="group"> <option>photos</option><option>videos</option></select>page 1 : <input type="checkbox" value="1" name="page"><br />page 2 : <input type="checkbox" value="2" name="page"><br />page 3 : <input type="checkbox" value="3" name="page"><br />page 4 : <input type="checkbox" value="4" name="page"><br /><input type="submit" /></form> Je récupère les variables avec $_POST. Si je sélectionne, par exemple, toutes les pages, j'arrive juste à créer la page 4 et pas les autres avant. Je suppose que c'est un problème de loop mais je comprend pas comment l'implanter. Merci pour toute aide car je suis perdu la .
captain_torche Posté 27 Janvier 2009 Posté 27 Janvier 2009 Il faudrait que tu postes un bout du code que tu utilises pour faire ta boucle. Sans ça, on ne peut pas voir où tu bloques.
Meeuuh Posté 27 Janvier 2009 Auteur Posté 27 Janvier 2009 (modifié) <?php ob_start()include 'connect.inc.php';$page = $_POST['page'];$categoryid = $_POST['category'];$groupid = $_POST['group'];$max_results = 40;$from = (($page * $max_results) - $max_results); $query = mysql_query("SELECT tl.*, tc.enabled, tc.ID FROM st_galleries tl LEFT JOIN st_galleries_1 tc ON tl.ID = tc.ID WHERE tl.category = '$categoryid' AND tl.groupid = '$groupid' AND tc.enabled = '1' ORDER BY tl.id DESC LIMIT $from, $max_results") OR die(mysql_error());$resultcount = mysql_num_rows($query);$inputstringunres = "SELECT tl.id, tc.id FROM st_galleries tl LEFT JOIN st_galleries_1 tc ON tl.ID = tc.ID WHERE category = '$categoryid' AND groupid = '$groupid' AND tc.enabled = '1'" OR die(mysql_error());$selectunres = mysql_query($inputstringunres);$resultcountunres = mysql_num_rows($selectunres);$total_results = $resultcountunres;$total_pages = ceil($total_results / $max_results); $a=0;?>Un peut de html ...<?phpwhile ($donnees = mysql_fetch_array($query) ){?><div class="photos">Code qui me permet de créer 40 thumbs comme annoncé avec $max_results</div><?php++$a;}?><div id="pagination"><?phpif($page > 1){ $prev = ($page - 1); echo "<a href=\"$prev.html\">< Previous</a> "; } for($i = 1; $i <= $total_pages; $i++){ if(($page) == $i){ echo "Page $i "; } else { echo "<a href=\"$i.html\"> $i</a> "; } } if($page < $total_pages){ $next = ($page + 1); echo "<a href=\"$next.html\">Next ></a>"; } mysql_close($connectdb) ?><?php $ob = ob_get_contents(); ob_end_clean(); $cwd = getcwd(); $file = "$cwd" .'/'. "$groupid/$categoryid/$page.html"; _AT_chmod($file,0755); $fw = fopen($file, "w"); fputs($fw,$ob, strlen($ob)); fclose($fw); die();?> Bien sur entre les ?> <?php il y a du HTML pour formater ma page mais en gros c'est ça. Modifié 27 Janvier 2009 par Meeuuh
Xethorn Posté 30 Janvier 2009 Posté 30 Janvier 2009 Salut, C'est un peu logique ... $page = $_POST['page']; Correspond à un checkbox et un checkbox ne peut avoir qu'une seule et unique valeur. Transforme ton code html par : page 1 : <input type="checkbox" value="1" name="page[]"><br />page 2 : <input type="checkbox" value="2" name="page[]"><br />page 3 : <input type="checkbox" value="3" name="page[]"><br />page 4 : <input type="checkbox" value="4" name="page[]"><br /> Ensuite fais un var_dump($_POST['page']). Regardes la structure des résultats et comment tu peux les gérer. Bon courage
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant