session

Répondre
sonia
le 12/02/2005 à 19:40
sonia
enfet je pense que
si dans un premiers temps il existe un auteur qui a écrit plus de 1 livre alors on crée un tableau qui prend tout les livre ecrit par cette auteur et on les mais dans ce tableau et a partir de ca on fait tab[]+1 a chaque foi qu'on click sur suivant.et pareil pour precedent.
mais je me melange alors si quelqu'un pourai m'aider sa serai super gentil.
Meeper
le 12/02/2005 à 22:32
Meeper
Oupss alors j'ai du mal comprendre ce que j'ai fais ne correspondait à ce que tu voulais pourtant il affiche bien dans un menu déroulant tous les livres du mêmem auteur séléctionnés à partir du menu déroulant auteur de l'autre page
sonia
le 12/02/2005 à 22:47
sonia
oui ok pour sa merci beaucoup sa marche bien.
mais maintenen j 'en suis au bouton suivant.
en fet je texplique:
1-clik sur l'auteur que l'on veut.
2-mm page avec liste deroulante des livre ecrit par cette auteur.
3-clik sur un livre de cette liste.
4-affichage des info concernent ce livre.
5-clik sur sur le bouton 'suivant'.
6-meme page aparait avec les information du 2 ème livre ecrit par cette auteur.
7-meme page aparait avec les information du 3 ème livre ecrit par cette auteur
8-est ca jusqu'a fin des livre écrit par cette auteur.
voila enfet ce que je veut faire exactement.
j' ai donc fai comme vous m'avez dit, ceulement il y un probleme.
en effet si je recupere l'id du livre et ji ajoute 1 sa va pa me donner forcement le livre n°2 ecrit par cette auteur.car les id de ma table sont dans l'ordre des nom de mes livre et non des nom de mes auteur.
voila j'espere que ta mieux compri mon probleme.
mais je te remerci deja beaucoup pour ton aide.
moogli
le 12/02/2005 à 23:29
moogli
Regarde bien mes requete sonia, j'ai indiqué l'auteur dans la clause where ainsi qu'une condition sur la valeur de l'id

<?php
// pour le bouton suivant !
$sql = 'SELECT `info` FROM table WHERE auteur = "'.$auteur.'" && id > "'.$id.'" ORDER BY id ASC LIMIT 1';
// pour le bouton précédent
$sql = 'SELECT `info` FROM table WHERE auteur = "'.$auteur.'" && id < "'.$id.'" ORDER BY id ASC LIMIT 1';


Lorsque tu met id > id_actuel dans le where, tu selectionne tout les tuples qui ont un id supérieur a l'id actuel ! dans la clause, il y a aussi auteur =$auteur ce qui restreint a l'auteur concerné ! Ensuite il y a : LIMIT 1 ce qui me permet de ne retrouner que ke 1er tuple du résultat. Donc le résultat de la 1er va etre le 1er tuple dont l'id est supérieur a celui que l'on a deja et dont l'auteur et celui que l'on a déja !
smiley Sa me parait compliqué comme phrase nan ?

Pour le bouton suivant c'est la meme logique mais la ont utilise inférieur smiley !

Il faut que tu fasse attention a vérifier le nombre de tuple retourné par la requete car lorsque tu sera 'arrivée' au dernier bouqion a afficher le bouton suivant ne doit pas afficher d'erreur (tu auras zéro tuples avec ma requete !) donc tu peut faire une requete afin d'optenir le plus grand id d'un auteur déterminer !
SELECT MAX(id) as maxi from table WHERE auteur ='machin';
avec sa tu récupére l'info maxi qui sera le grand id de l'auteur machin !

si tu met min a la place de max c'est l'inverse !

tu peut donc ainsi inhiber les boutons afin de ne pas faire planter une requete smiley

J'espère que ta compris ce que j'ai mis smiley

smiley
Il en faut peu pour être heureux !!!!!
sonia
le 12/02/2005 à 23:40
sonia
ok merci, alors je vais tout de suite travailler avec plus d' attention dessus.
merci beaucoup pour ton aide.
moogli
le 13/02/2005 à 01:31
moogli
ben te rien :) si tu encore d'autre question on sera encore la :) (enfin demain manant :) )

smiley
Il en faut peu pour être heureux !!!!!
sonia
le 13/02/2005 à 14:12
sonia
bonjour,

voila je ni arrive vraiment pas sa marche pas
le passege des varible ces bon mais le code ya un probleme parceque sa veut rien afficher.
donc jai un soucis o niveau de l' affichage.
voila mon code:

<?
include("inc_functionTraitement.php");

$maConnexion=connexion();
if ($maConnexion !=0)
{
//on test si $_GET['nom'] existe !
if (isset($_GET['Nom'])) {
$nom = $_GET['Nom'];
}
else {
//erreur fin du script
exit();
}

//On test si $_GET['action'] et $_GET['id'] existe (cas d'un clique sur précédent ou suivant !
if (isset($_GET['action']) && isset ($_GET['id'])) {
$id = $_GET['id'];
// On a l'id et l'action a faire,
if ($_GET['action'] == 'avant') {
$sql = 'SELECT * FROM news WHERE Nom = "'.$Nom.'" && id < "'.$id.'" ORDER BY id ASC LIMIT 1';
$resultat=mysql_db_query("importer", $sql, $maConnexion) or die ("echo <b>Erreur : </b>".mysql_error($maConnexion));
}
elseif ($_GET['action'] == 'apres') {
$sql = 'SELECT * FROM news WHERE Nom = "'.$Nom.'" && id > "'.$id.'" ORDER BY id ASC LIMIT 1';
$resultat=mysql_db_query("importer", $sql, $maConnexion) or die ("echo <b>Erreur : </b>".mysql_error($maConnexion));

}
else {
//Erreur cas impossible arret du script !
exit();
}

}
else {
// car par défaut on arrive qu'avec le nom de l'auteur !
$sql = 'select * from news WHERE Nom = "'.$Nom.'" ORDER BY id ASC LIMIT 1';
}
$resultat=mysql_db_query("importer", $sql, $maConnexion) or die ("echo <b>Erreur : </b>".mysql_error($maConnexion));

//ensuite affichage des infos du livre !


$Nom=$row['Nom'];
$Telephone=$row['Telephone'];
$Fax=$row['Fax'];
$dateRelance=$row['dateRelance'];
$commentaire=$row['commentaire']; $datecreation=$row['datecreation'];
echo "<hr size='1' width='90%'><br><br>";
echo "</form>";
}
else
echo "Echec de connexion";

?>


voila je pense que ces pa bon o niveau de la recuperation des données.
voila si tu pourai m' aider sa serai genial.

Koboneil : Utiliser le BB-code... merci
sonia
le 13/02/2005 à 17:14
sonia
oui enfet apres jai ajouter

// on recupere le resultat sous forme d'un tableau
$row = mysql_fetch_array($resultat) ;
jte remerci d' avoir lu mon message de pui ce matin j'aisai jarrive pas
Meeper
le 13/02/2005 à 17:19
Meeper
soit tu na pas mis tout ton script parceque tu recupere bien donc comem tu as dis avec le
$row = mysql_fetch_array($resultat) ;
mais je ne vois pas
echo $nom;
echo $telephone;

ect....
Répondre
LoadingChargement en cours