Création d'une nouvelle variable

Fermé
rubikspirit - 23 oct. 2008 à 15:56
Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 - 23 oct. 2008 à 18:42
Bonjour à tous,

Voila, j'ai un petit soucis (comme toujours d'ailleurs...), je voudrais créer une variable nommée $ID_dossier_suivant en fonction d'une autre variable déja existante nommée $ID_dossier après être passée par une requête SQL dont voici la ligne :

$sql = 'SELECT min(ID_dossier) FROM dossiers where ID_dossier>"$ID_dossier" AND titre="$titre" limit 0,1';

Voila, à partir de là, je nage complètement...

Avez-vous une petite idée a me suggérer ?


Merci à tous !
A voir également:

11 réponses

Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 35
23 oct. 2008 à 16:01
Si j'ai bien compris, ta variable $id_dossier contient la première ligne de ta table récupéré grâce au SELECT et la variable $id_dossier_suivant contiendra la ligne suivante. C'est ça ?
1
rubikspirit
23 oct. 2008 à 16:02
Voila en gros c'est ca =D
0
rubikspirit
23 oct. 2008 à 16:14
Personne n'a de solution ??
0
rubikspirit
23 oct. 2008 à 16:32
En fait, ce que je veux, c'est pouvoir afficher le numéro d'un ID juste après un qui est déja défini (ID_dossier) sans pour autant que ce soit l'ID tout de suite après mais celui le plus près après ayant une même caractéristique commune avec mon ID_dossier de référence (valeur commune : "titre")

C'est un peu plus clair ?
0

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

Posez votre question
rubikspirit
23 oct. 2008 à 16:54
Euh ouais !

Alors je vais expliquer clairement et en détail ce que je souhaite faire :
Voila, je fais un site de News et parfois je ferais des dossiers de plusieurs pages.
Dans ma table dossiers, j'ai donc ceci :

ID_dossier
titre
sous_titre
article

Quand je ferais 2 pages ou plus pour un dossier, j'aurais des ID_dossier différents, puisque chaque ID générera sur la page d'affichage le contenu de l'article mais le titre sera commun a chaque page du dossier.

Ce que je souhaite, c'est obtenir $ID_dossier_suivant en fonction de ID_dossier, c'est à dire obtenir l'ID de la page du dossier que je suis en train de lire pour créer un lien "Page Suivante".
Je ne peux pas me contenter d'ajouter +1 à ID_dossier car sinon, si j'insère une page d'un dossier différent au beau milieu des pages du dossier qui m'interesse, ca sera un vrai désordre... C'est pour celà que j'impose la contrainte titre=$titre

Après, je ne sais pas comment faire pour obtenir ma varible ID_dossier_suivant pour créer mon lien correctement.

J'espère avoir été plus clair pour comprendre et résoudre la situation...

Merci
0
rubikspirit
23 oct. 2008 à 17:04
D'accord, pas de soucis, merci beaucoup !
0
rubikspirit
23 oct. 2008 à 18:20
Des news pour ce soucis de variable ?
0
Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 35
23 oct. 2008 à 16:15
J'vois pas ce que tu veux en faire donc j'vais te donner un exemple de code un peu déconnecté d'une utilisation réelle ;)

//On suppose que tu es déjà connecté à la BD
//Stockage de ta requête (un peu modifé pour récupérer tous les identifiants des dossiers du plus petit au plus grand) dans une variable.
$sql = 'SELECT ID_dossier FROM dossiers ORDER BY ID_dossier ASC;

//Exécution de la requête
$result=mysql_query($sql);

//Stockage de la premiere ligne (le premier dossier, celui avec l'id le plus bas)
$id_dossier=mysql_fetch_row($result);

//Stockage de la deuxième ligne
$id_dossier_suivant=mysql_fetch_row($result);

Là tu auras la variable $id_dossier qui contiendra l'id du dossier ayant le plus petit ID
et la variable $id_dossier_suivant qui contiendra l'id du dossier ayant le 2eme plus petit ID.

C'est ce que tu voulais ? :)
-1
Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 35
23 oct. 2008 à 16:35
Si j'ai bien compris, tu veux afficher un numéro ID d'un dossier A. Et ce dossier A doit avoir le même titre que le dossier B qui a été défini comme référence ailleurs ?
-1
Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 35
23 oct. 2008 à 16:57
J'quitte le boulot là, j'reprends ton problème dans une petite heure ;)
-1
Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 35
23 oct. 2008 à 18:42
Okay alors il te faudrait bidouiller la requête que je t'avais proposé de manière à avoir tous les dossiers ayant le même titre ;)

Ça donnerait à peu prêt ça :

$sql = 'SELECT ID_dossier FROM dossiers WHERE titre=$titre AND ID_dossier!=$id_dossier';

Donc si j'explique 2 petites secondes :

On sélectionne tous les ID_dossier des éléments qui ont pour titre le contenu de la variable $titre (renseigné préalablement) mais également qui ont un id différent de la 1ère page (bah oui on veut pas que la page suivante soit la même que la page courante ^^).

Ce qui fait que, tu as ta première page de ton dossier comme suit :
$id_dossier=X; //X c'est la manière dont tu as cet id ;)

//Là c'est ta requête SQL :
$sql = 'SELECT ID_dossier FROM dossiers WHERE titre=$titre AND ID_dossier!=$id_dossier';

//Exécution de la requête
$result=mysql_query($sql);

if ($result != null) { //Si on a eu des résultat (donc s'il y a plusieurs pages à ton dossier)
$id_dossier_suivant=mysql_fetch_row($result); //Là on met l'id de la page suivante du dossier dans la variable
}

Voilà :D

Dis moi tout, ça réponds à ce que tu veux faire ou pô ? :)
-1