par
sadeq » 11 sept. 2006, 15:15
La première remarque qui peut te mettre sur le chemin de la victoire est la suivante:
- Pourquoi faire 2 requêtes sur la même table en 2 temps, alors qu'en connaissant la rubrique tu aurais pu mémoriser dans un tableau de session le résultat de la première requête sans avoir besoin de la seconde.
Je donne un exemple :
je rempli le tableau suivant avec tous les champs dont j'aurai besoin. En suite je peux le parcourir comme je veux dans tous les sens.
<?php
//mon tableau des images
//Nouveau tableau : initialisations (dans cet exemple le contenu est donné en dur)
//1° ligne
$images[] = array ("r"=>1, "id"=>1, "nom"=>"image1", "fichier"=>"image1.png");
//2° ligne
$images[] = array ("r"=>1, "id"=>2, "nom"=>"image2", "fichier"=>"image2.png");
//3° ligne
$images[] = array ("r"=>1, "id"=>3, "nom"=>"image3", "fichier"=>"image3.png");
//Logique du parcours du tableau
//paramètres fixes
$limite_inf = 0; //début du tableau
$limite_sup = count($images)-1; //fin du tableau
//paramètres rappelés par le formulaire
$index_actuel = $_GET["index_actuel"]?$_GET["index_actuel"]:0; //index de parcours (par défaut : le début du tableau
$sens_parcours = $_GET["sens"]?$_GET["sens"]:null; //sens de parcours du tableau (par défaut : aucun)
//parcours du tableau en utilisant les paramètres
//définition de la position à partir de l'index_actuel et le sens demandé (s'il y a demande)
if ($sens_parcours){
switch ($sens_parcours){
case ">" : //cas de suivant
if ($index_actuel+1<=$limite_sup) $index_actuel++;
break;
case "<" : //cas de précédent
if ($index_actuel-1>=$limite_inf) $index_actuel--;
}
}
//Afficher la position demandée et/ou calculée
echo "<p><form><input type='hidden' name='index_actuel' value='$index_actuel'><input type='submit' name='sens' value='<'><input type='submit' name='sens' value='>'></form></p>";
echo "<p><pre>"; print_r($images[$index_actuel]); echo "</pre></p>";
?>
La première remarque qui peut te mettre sur le chemin de la victoire est la suivante:
[list]Pourquoi faire 2 requêtes sur la même table en 2 temps, alors qu'en connaissant la rubrique tu aurais pu mémoriser dans un tableau de session le résultat de la première requête sans avoir besoin de la seconde. [/list]
Je donne un exemple :
je rempli le tableau suivant avec tous les champs dont j'aurai besoin. En suite je peux le parcourir comme je veux dans tous les sens.
[php]<?php
//mon tableau des images
//Nouveau tableau : initialisations (dans cet exemple le contenu est donné en dur)
//1° ligne
$images[] = array ("r"=>1, "id"=>1, "nom"=>"image1", "fichier"=>"image1.png");
//2° ligne
$images[] = array ("r"=>1, "id"=>2, "nom"=>"image2", "fichier"=>"image2.png");
//3° ligne
$images[] = array ("r"=>1, "id"=>3, "nom"=>"image3", "fichier"=>"image3.png");
//Logique du parcours du tableau
//paramètres fixes
$limite_inf = 0; //début du tableau
$limite_sup = count($images)-1; //fin du tableau
//paramètres rappelés par le formulaire
$index_actuel = $_GET["index_actuel"]?$_GET["index_actuel"]:0; //index de parcours (par défaut : le début du tableau
$sens_parcours = $_GET["sens"]?$_GET["sens"]:null; //sens de parcours du tableau (par défaut : aucun)
//parcours du tableau en utilisant les paramètres
//définition de la position à partir de l'index_actuel et le sens demandé (s'il y a demande)
if ($sens_parcours){
switch ($sens_parcours){
case ">" : //cas de suivant
if ($index_actuel+1<=$limite_sup) $index_actuel++;
break;
case "<" : //cas de précédent
if ($index_actuel-1>=$limite_inf) $index_actuel--;
}
}
//Afficher la position demandée et/ou calculée
echo "<p><form><input type='hidden' name='index_actuel' value='$index_actuel'><input type='submit' name='sens' value='<'><input type='submit' name='sens' value='>'></form></p>";
echo "<p><pre>"; print_r($images[$index_actuel]); echo "</pre></p>";
?>
[/php]