stoper la comande a la seul requete SQL (comptage)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : stoper la comande a la seul requete SQL (comptage)

par fabien_14 » 12 sept. 2006, 01:23

Voila ceux que je voudrai faire ... mais la je cale sévére ....

Image

avoir un beau system de scroll horyzontal ... et tou en limitant les bouton suivant precendent au resultat de la requete SQL ...

par fabien_14 » 11 sept. 2006, 20:31

Bonsoir,

Je n'est pas trops compris en faite ... :oops: Le code que tu a mit c'est pour les image suivante et precedente ?

Merci de m'informer :) si vous pouvez :)

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>";

?>

par fabien_14 » 11 sept. 2006, 10:46

Bonjour,
Voici le code :

Code : Tout sélectionner

<?php if ($_GET['r'] == TRUE && $_GET['id'] == FALSE) { $req=mysql_query("SELECT * FROM up_image2 WHERE rubrique='$_GET[r]' "); while($row = mysql_fetch_row($req)){ $valeur1 = $row[0]; $valeur2 = $row[6]; echo '<a href="image_up/photos_carnet/',$valeur1,'.',$valeur2,'" ><img src="image_up/photos_carnet/mini/',$valeur1,'-mini.png" alt="A swimming pool for adults" /> </a>'; } } ?> <? if ($_GET['id'] == TRUE && $_GET['r'] == TRUE ) { $db3=mysql_query("SELECT * FROM up_image2 WHERE rubrique='$_GET[r]' AND id_photos='$_GET[id]'"); $d=mysql_fetch_array($db3); ?> <img src="image_up/photos_carnet/<?=$d['id_photos']?>.<?=$d['nom_image']?>" /> <? } ?>

J'aimerai lister les image coresspondant a la rubrique et n'afficher que celle ci ... et mettre un bouton suivant et precedant aussi met aussi que pour la rubrique c a dire que si la rubrique contient 7 images si je suis a la position 6 je click sur le bouton suivant ca marche mais apres le bouton est desactivé ...

pS: je passe dans mon URL les 2 parametre de la rubrique (r) et de l'image (id)

J'ai essayer aussi de faire en sote que quand nous avions seulement le parametre $_GET['r'] sa affiché la premiere image de la rubrique (celle avec le plus petit ID) mais sans succés ....
Si qlq peu me donner un coup de main
Merci

Re: stoper la comande a la seul requete SQL (comptage)

par sadeq » 11 sept. 2006, 09:22

.....
et afficher un bouton suivant et precedent dans lekel j'utilise cette comande
<input type="hidden" name="ID_image" value="<?=$_GET['r']-1?>"></input>

Mais je voudrai lui dire de se stoper seulement au image de cette rubrique .... sinon il continue et m'affiche des image de la rubrique d'a coté ....

Merci de votre aide.
C'est le $_GET[r]-1 qui ne répond pas à ce que tu veux car tes boutons "précédent/suivant" doivent parcourir les images de la même rubrique il ne faut pas toucher donc à $_GET[r].

Le plus simple est de remplir un tableau d'images de la rubrique "r" le mettre dans la session et mémoriser la position des images affichées pour savoir calculer à la demande la position précédente ou la suivante.

par SAEVEAS » 11 sept. 2006, 00:10

bonjour,
Peux tu mettre ( entre les balise
 ) le code correspondant à ce que tu as dejà fait. Autrement je vois mal comment on pourra t'aider.

stoper la comande a la seul requete SQL (comptage)

par fabien_14 » 11 sept. 2006, 00:01

Bonjour

j'ai fait une petite galerie ... j'ai une requete

Code : Tout sélectionner

$req = "SELECT * FROM up_image2 WHERE rubrique='$_GET[r]'";
Qui m'affiche toute mes miiature ou rubrique = GET[r] pour l'instant ceci marche......

mais je voudrai que mon ecran soit divisé comme ceci

____Suivant - Precedent__________________
Miniture1 - Miniture2 - Miniture3 - Miniture4 - |
______________________________________
|
ICI LA GROSSE IMAGE |
|
______________________________________

et afficher un bouton suivant et precedent dans lekel j'utilise cette comande
<input type="hidden" name="ID_image" value="<?=$_GET['r']-1?>"></input>

Mais je voudrai lui dire de se stoper seulement au image de cette rubrique .... sinon il continue et m'affiche des image de la rubrique d'a coté ....

Merci de votre aide.