IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Identifiant Min et Max selon un lieu, SQL ou PHP ?


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Points : 305
    Points
    305
    Par défaut [Tableaux] Identifiant Min et Max selon un lieu, SQL ou PHP ?
    Hi all !

    Alors je ne sais pas si mon problème est d'ordre SQL ou PHP, donc je poste ici et on verra bien

    Donc je suis en train de faire une galerie d'images de schémas réseau de plusieurs lieux. Pour accéder à une de ses images, on sélectionne tout d'abord le lieu via une balise <select></select>, puis à partir de là on a la galerie d'images en miniature de ce lieu, Et en cliquant sur une des images on a l'image en 800x600 avec les liens précédents et suivant selon l'id du schémas dans la base de données. Et là est mon problème, quand je clique sur le l'image ayant le + petit id j'obtien un lien "précédent".

    Dans ma table g tout les schémas, ils sont trié par lieu, mais les id sont auto incrémenté donc le plus petit id pour un schéma d'un lieu peut etre 6 ou 3 selon son ordre d'upload.

    Je voudrais en faite, savoir comment connaitre le plus petit id du lieu choisi et le + grand, s'il faut passé par une requête spécial ou s'il ce n'est que du code PHP ?

    Merci pour vos Réponse

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT MIN(id) FROM table
    SELECT MAX(id) FROM table
    Nan ?

  3. #3
    Membre confirmé
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 579
    Points
    579
    Par défaut
    Salut !

    Peux-tu donner une description de ta table ?
    Il suffit de savoir sur quel critère tu peux trier tes lieus, en dehors de la clé numérique.

  4. #4
    Membre averti Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Points : 305
    Points
    305
    Par défaut
    alors j'ai une table avec 8 champs et une clé primaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ------------------------------------------------------------------
    id_schemas         | int (11)       | PRIMARY KEY | NULL | auto increment  |
    nomSchema        | varchar(80)  |                                                      |
    station               | varchar(40)  |                                                      |
    url_Schema         |varchar(200) |                                                      |
    url_SchemaMini    |varchar(200) |                                                      |
    nb_hauteur         | int (11)       |                     | 0    |                        |
    nb_largeur          | int (11)        |                    | 0    |                        |
    type                  |varchar(80)   |                                                      |
    -----------------------------------------------------------------------
    donc à partir de l'id_schemas et de la station je sort les images pour tel ou tel station

    Je vais essayé JWHITE !

  5. #5
    Membre confirmé
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 579
    Points
    579
    Par défaut
    Bon bah je crois que je n'ai pas compris ce que tu désirais obtenir comme résultat.

    J'avais compris que tu ne pouvais pas utiliser l'id auto incrémenté car ça ne refletait pas l'ordre des stations. Si c'est ça, ce que t'as proposé JWhite ne fonctionnera pas.

    Si j'ai bien compris explique moi comment tu peux trier tes stations ?

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par mLk92
    Et là est mon problème, quand je clique sur le l'image ayant le + petit id j'obtien un lien "précédent".
    La classe Pager de Pear permet de résoudre facilement ce genre de problèmes : cfr. package Pager

    @+

    Stéphane

  7. #7
    Membre averti Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Points : 305
    Points
    305
    Par défaut
    Si si dbprog, t'a compris.

    En fet les schémas sont triés par stations, quand je sélectionne une stations, t'a les schémas qui sont aligné par ordre croissant de leur id.

    En cliquant sur la premiere on a l'image avec le premier id dans l'ordre numérique de la station qui est affiché et ainsi de suite jusqu'au dernier id de la station

    donc on peut avoir des id du style 2 -5- 7 -8 - 12 qui appartienne à la station choisi.

    Donc j'ai essayé ce que JWHITE a proposé, ça fonctionne pour l'affichage, mais en cliquant sur précédent ou suivant, j'ai rien. je pense que cela vient du fait ke je décrémente l'id mais vu que l'id précédent ou suivant n'est pas forcément celui de la mm stations alors rien ..

    Comment faire pour passer à l'id suivant ou précédent selon la station ?

  8. #8
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Je pense que tu devrais te pencher sur LIMIT dans les requêtes SQL, ça te permettra de résoudre le problème car tu pourras récupérer le i-ème enregistrement d'une requête

  9. #9
    Membre averti Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Points : 305
    Points
    305
    Par défaut
    Si je fait une requête du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req= "SELECT MAX(id_schemas) AS idMax, MIN(id_schemas) AS idMin FROM schemas WHERE station = '$station' ORDER BY id_schemas LIMIT $station "
    Ca devrait fonctionner non ? je vais essayé

  10. #10
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Euh non je pense pas... Tu traduis ta requête comment en français ?

  11. #11
    Membre averti Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Points : 305
    Points
    305
    Par défaut
    lol ca se traduit pas

    voila mes requêtes à l'origine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	//Requête pour récolter les informations du plan choisi.
    	$req="SELECT * FROM schemas WHERE id_schemas LIKE '".$_GET['id_schema']."%'";
    	$result=mysql_query($req)or die("Erreur dans la base de donnée, consulté l'administrateur");
    	$infoSchema = mysql_fetch_array($result);
    
    	//Requete  pour avoir tous les plans de la station choisi.
    	$req="SELECT * FROM schemas WHERE station = '".$_GET['station']."'"; 
    	$result=mysql_query($req)or die("Erreur dans la base de donnée, consulté l'administrateur");
    	$maxSchema=mysql_num_rows($result);
    A mon avis je doit placé le MAX et MIN dans la 2e requête et limit ossi mais jvoi pas comment

  12. #12
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Quand je dis traduire c'est qu'est-ce que tu penses que ta requête va faire avec des mots en français...

    Je pense que si tu utilises LIMIT tu n'as plus besoin de MIN/MAX...

  13. #13
    Membre éclairé Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Points : 783
    Points
    783
    Par défaut
    J'ai pas compris ce que tu veux en fait
    tu veux faire comme une galerie photo ? on avance en cliquant sur Suivant ou Précédent ?
    Et donc la 1ère image ne doit pas avoir de Précédent c'est ca ?

Discussions similaires

  1. Fonction MIN et MAX résultat improbable
    Par UNi[FR] dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 24/04/2006, 11h38
  2. Réponses: 6
    Dernier message: 20/02/2006, 22h13
  3. taille min et max d'un div
    Par grinder59 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/02/2006, 17h46
  4. [SQL Server 8] fonction Max --- selon des conditions
    Par Baquardie dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/01/2006, 21h06
  5. min et max
    Par sorinexp dans le forum Access
    Réponses: 6
    Dernier message: 28/11/2005, 19h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo