Stopper une incrémentation php

Résolu/Fermé
Kormyr - 6 févr. 2012 à 15:16
 Kormyr - 8 févr. 2012 à 08:26
Bonjour,


Je cherchais un script pour une galerie photo, je suis tombé sur celui ci qui à l'air tout frais !! lol

http://www.commentcamarche.net/forum/affich-24358305-galerie-photo-php-mysql

Il fonctionne, il est simple, ça me convient, mais la personne qui a posté n'a pas pensé à stopper l'incrémentation. Ou à reboucler sur la première photo...
Alors du coup une fois la dernière photo passés, on voit les id qui continuent a s'incrémentés dans l'url, mais bon comme il n'y a plus de photos à afficher.. bah c'est tout vide !

N'y aurait il pas quelqu'un qui aurait un éclair de génie pour m'éclairer svp ???

Merci, bonne journée à toutes et à tous !
A voir également:

10 réponses

djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 94
6 févr. 2012 à 17:49
Mets le code en question ce sera plus simple
0
Le code que j'ai trouvé c'est ça :

<?php
if(empty($_GET['PHOTO_ID'])){
$PHOTO_ID=1;
}else{
$PHOTO_ID=$_GET['PHOTO_ID'];
}

// Sélection de la base
mysql_select_db("test");
// Ecriture requête SQL
$req_photo = "SELECT * FROM galerie_photo WHERE PHOTO_ID ='".$PHOTO_ID."'";
$nombre_image="SELECT COUNT(PHOTO_ID) FROM galerie_photo";


// Exécute la requête
$id_result_photo = mysql_query ($req_photo);
$nb_photo=mysql_query ($nombre_image);

// Récupère le résultat de la requête dans le tableau $photo
$photo = mysql_fetch_assoc($id_result_photo);
$nb=mysql_fetch_assoc($nb_photo);

echo "<html>";
echo "<head>";
echo "<title>".$photo["PHOTO_NOM"]."</title>";
echo "</head>";

echo "<table width='100%'>";
echo "<tr>";


if ($photo["PHOTO"]!=1)
{
$PHOTO_IDm=$PHOTO_ID-1;
echo "<td align='left'><a href='affiche.php?PHOTO_ID=".$PHOTO_IDm."' target='_self'><b><font color='#999999' face='Arial, Helvetica, sans-serif'><<</font></b></td>";
}
//afficher la photo
echo "<td ><img src='http://".$photo["PHOTO"]."'></td>";


if($photo["PHOTO"]<=$nb)
{
$PHOTO_IDp=$PHOTO_ID+1;
echo "<td align='right'><a href='affiche.php?PHOTO_ID=".$PHOTO_IDp."' target='_self'><b><font color='#999999' face='Arial, Helvetica, sans-serif'>>></font></b></td>";
}


echo "</tr>";
echo "</table>";
echo "</body>";
echo "</html>";
?>

Après je changerai les noms pour adapter a ma bdd.
0
djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 94
6 févr. 2012 à 23:09
Je vois pas de boucle dans ton code.

De plus, je te conseilles ceci :

<?php 
// Sélection de la base 
mysql_select_db("test"); 

if(empty($_GET['PHOTO_ID'])){ 
$PHOTO_ID=1; 
}else{ 
$PHOTO_ID= mysql_real_escape_string($_GET['PHOTO_ID']); 
}

// TON CODE HTML (head, ...)

// Ecriture requête SQL 
$req_photo = "SELECT * FROM galerie_photo WHERE PHOTO_ID ='".$PHOTO_ID."'";

$query = mysql_query($query);

while ( $row = mysql_fetch_array($query) ) {
// AFFICHAGE EN BOUCLE DES DONNEES TANT QU'IL Y A DES ENREGISTREMENTS
}
?>
0
Utilisateur anonyme
6 févr. 2012 à 23:38
:) c'est mon code, bien sur qu'il est tout frais lol
je reconnais que ce code est pourri, mais bon ça répondait à la question demandée.
il n'y a point d'erreur dans ce code, l'incrémentation est coté serveur donc impossible de voir défiler les id sur l'url.
Sauf si tu as rajouté un code javascript qui fait des conneries.

@djflexlive : la boule while ne sert à rien dans ce cas puisque les données transférés ne correspondent qu'a 1 seul enregistrement ( "WHERE" dans la requête )

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vsf90 Messages postés 26 Date d'inscription dimanche 15 janvier 2012 Statut Membre Dernière intervention 13 février 2012 2
7 févr. 2012 à 00:23
En fait comme je lui avait dit, mettre un code php pour une galerie de photo n'est pas bon du tout.

D'abord ce n'est flexible, et encore pour passer d'une image à une autre il te faut recharger la page.

regarde ce tutoriel il explique en montrant le script détaillé :

https://www.alsacreations.com/tuto/lire/557-galerie-photo-javascript.html
0
djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 94
7 févr. 2012 à 00:27
Bizarre tout ca ... c'est quoi le but final désiré ?
0
Utilisateur anonyme
7 févr. 2012 à 00:42
Le problème c'est que les débutants veulent tout faire en php. Un code pareil sur un site ayant des milliers de visiteurs, le serveur tombe en panne en peu temps.
Pour moi ce n'est qu'un exemple pour montrer en php d'un script qui doit être fait en javascript.
0
djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 94
7 févr. 2012 à 01:39
Hem en général avant d'avoir des milliers de visiteurs, tu as le temps d'optimiser ton site :) Mais je suis d'accord avec toi ;)
0
Si si eone, promis, ça défile dans l'url. A moins que ce ne soit du au fait que je le teste sur easyphp et non directement sur un serveur, en ligne et tout et tout.
La ou je suis d'accord avec la personne pour qui tu as fait le code, c'est que à l'école on t'impose parfois des choses pas logiques, mais dans ces cas la tu n'as pas le choix. Perso je n'y connais rien en javascript, je ne savais pas par quoi commencer. Je pense que je vais utiliser ce code dans un premier temps car mon site doit être fait dans les plus brefs délais, et apres j'apprendrai le javascript pour faire quelque chose de mieux.
0
mais je te dis que c'est impossible ou du moins ce n'est pas mon code qui en est la cause. Sinon fait voir le code de ta page pour qu'on puisse savoir où se trouve ce problème.
0
Le code est le même, j'ai changé le nom des tables de ma bdd pour faire plus simple
0
vsf90 Messages postés 26 Date d'inscription dimanche 15 janvier 2012 Statut Membre Dernière intervention 13 février 2012 2
7 févr. 2012 à 12:27
Le javascript est un langage d'événement, il se traite au niveau du navigateur il donne une réponse rapide sans avoir à charger la page à nouveau.

Et si tu veux aller un peu loin il y a le jquery qui vous facilite les choses. Mais il demande des bases en javascript.
0
Utilisateur anonyme
7 févr. 2012 à 15:23
malheureusement il s'en fout complètement du javascript et je trouve ça tout à fait normal
0
vsf90 Messages postés 26 Date d'inscription dimanche 15 janvier 2012 Statut Membre Dernière intervention 13 février 2012 2
7 févr. 2012 à 17:39
C'est normal pour des débutants, ils ne trouvent de vrai tutoriel à les aider et ça demande un peu d'expérience.
0