session

Répondre
sonia
le 12/02/2005 à 14:06
sonia
salut tout le monde,
j'ai vraiment besoin d' aide estceque quellequ'un pourait m' aider.
enfet j' ai fait une appli une bibliotheque plus exactement, j'ai une liste déroulante qui permet d'afficher tout les auteur , bien entendu un auteur peut avoir écrit plusieur livres .Mon probleme est là , enfet je voudrais que lorsque l' utilisateur click sur un auteur cette page réapparait avec une liste déroulante avec tout les livre écrit par cette auteur.
je sais pas trop comment faire si quelqu'un pourait m'aider sa medera beaucoup.
merci
Meeper
le 12/02/2005 à 14:15
Meeper
Salut
quand tu cliques sur ok dans ta page ou tu choisis les auteurs dans ton menu déroulant
ca te dirige vers une page ou tu recupere le nom de l'auteur de ta liste déroulante et sur cette page tu fais une requete "select livres from table where auteur = la variable que tu as recuperer et tu affiches dans un autre menu déroulant
sonia
le 12/02/2005 à 14:22
sonia
ok ben merci je vais le faire.
et merci d' avoir lu et répondu à mon message.
sonia
le 12/02/2005 à 14:38
sonia
tu voit se que je voudrais faire maintenen c'est que lorsque l'utilisateur selectionne sont auteur sa lui affiche tout les livre écrit par cette auteur dans une nouvelle liste déroulante.Mais en plus je voudrais que lorsqu'il clik sur un boutton sa lui donne la meme feuille mais avec les information du deuxiemme livre ecrit parcette auteur et apres si y click sur le bouton sa lui donne les information du troisiemme livre écrit par l' auteur et sa jusqu'il n'y a plus de livre écrit par cette auteur.
je croit donc quil faudra mettre tout sa dans un tableau.
mais bon je ni arrive pas sa serai super si tu pouvai m'aider.
mais ses deja super gentil que tu ma aider une fois.
Meeper
le 12/02/2005 à 15:04
Meeper
bon voila j'ai fais un petit script c'est très basique mais j'ai testé il fonctionne
j'ai crée
j'ai crée uen simple table
CREATE TABLE /*!32300 IF NOT EXISTS*/ livres (
id tinyint(3) unsigned NOT NULL auto_increment,
auteur varchar(50) NOT NULL DEFAULT '0' ,
livres varchar(50) NOT NULL DEFAULT '0' ,
PRIMARY KEY (id),
INDEX id (id)
);

ensuite 3 fichiers
index.php
<?php
echo'<html>

<head>

<title>bibliotheque</title>
</head>

<body>
Choisi ton auteur
<form method="POST" action="bouquins.php">

<select name="auteur">
<option>auteur 1</option>
<option>auteur 2</option>
<option>auteur 3</option>
</select>
<br>
<input type="submit" value="Envoyer">

</form>

</body>

</html>';

?>

ensuite
connect.php

<?php

$dbname ='biblio';
$hostname='localhost';
$username='root';
$password='ton pass';
$id_link =mysql_connect("$hostname",$username,$password);
mysql_select_db ('biblio', $id_link);


?>

et finalement
bouquins.php
<?php
include "connect.php";
//requete
echo'<u>auteur</u><br>';
echo $_POST['auteur'];
$sql ='SELECT livres from livres where auteur ="'.$_POST['auteur'].'"';
$req=mysql_query($sql)or die('erreur sql!<br>'.$sql.'<br>'.mysql_error());

//affichage du menu deroulant
echo'<form method="POST" action="resultats.php">';
echo'<select name="livres">';



while ( $data = mysql_fetch_array($req))
{
$livres=$data['livres'];
echo' <option>';
echo $livres;
echo'<br>';
echo' </option>';
}
echo'<input type="submit" value="voir les infos">';
echo'</form>';
mysql_close();

?>

et apres ben c'est le même principe pour avoir les infos du bouquins selectionné
moogli
le 12/02/2005 à 15:18
moogli
Salut ,

tu veut faire une sorte de gallerie avec précédent et suivant !

Il faut récupérer l'auteur et la clef primaire du livre (je l'appel id);

les liens on cette forme la la_page.php?action=avant&&auteur=xxxxx&&id=xx ou la_page.php?action=apres&&auteur=xxxxxx&&id=xx.
Dans les 2 cas id est la clef primaire les tables !

Pour ce qui est du code php:

<?php
//on test si $_GET['auteur'] existe !
if (isset($_GET['auteur'])) {
$auteur = $_GET['auteur'];
}
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 `info` FROM table WHERE auteur = "'.$auteur.'" && id < "'.$id.'" ORDER BY id ASC LIMIT 1';
}
elseif ($_GET['action'] == 'apres') {
$sql = 'SELECT `info` FROM table WHERE auteur = "'.$auteur.'" && id > "'.$id.'" ORDER BY id ASC LIMIT 1';
}
else {
//Erreur cas impossible arret du script !
exit();
}

}
else {
// car par défaut on arrive qu'avec le nom de l'auteur !
$sql = 'select `infos du livre` from table WHERE auteur = "'.$auteur.'" ORDER BY id ASC LIMIT 1';
}
$req = mysql_query($sql) or die ('Erreur SQL<br/>'.$sql.'<br/>'.mysql_error());
//ensuite affichage des infos du livre !
?>


Pour éviter les erreurs, tu peut aussi tester si tu est sur la 1er page ( cas ou id et action ne sont pas dans l'url ! (attention on peut revenir en arriere et la tu peut etre sur la 1er page avec ces variables .... !)

Tu peut aussi le faire avec un tableau, dans ce cas tu fait une requete sql avec tout les livres !

tu récupère la clef du tableau et tu passe par l'url le nom de l'auteur et la valeur de la clef !

Fait attention au passage par url, si des nom d'auteur contiennent des caractères spéciaux, telque quote (simple et double) les accents .... utilise dans ce cas urlencode ou rawurldecode. Pour récupérer la valeur initiale urldecode et rawurlencode !


Voila j'espère que tu a compris ce que j'ai voulue dire smiley

smiley
Il en faut peu pour être heureux !!!!!
Meeper
le 12/02/2005 à 15:22
Meeper
Oui bon la bien sur moogli il est plus spécialiste que moi smiley moi j'ai mis aucun test pour verifier les variables
sonia
le 12/02/2005 à 15:25
sonia
et ben merci ses super sympa.
je vais le faire
merci beaucoup pour votre aide.
moogli
le 12/02/2005 à 15:27
moogli
me suis core fait grillé :)

de rien pour l'aide smiley


Bon courage :)

smiley
Il en faut peu pour être heureux !!!!!
sonia
le 12/02/2005 à 19:15
sonia
enfet je me suis rendu compte que l'identifiant et attribuer a un livre donc si on fait id+1 on va avoir le livre qui suis mais sais pa tout a fait sa que je veut .
lorsqu'on clik sur un auteur je voulai que tout les livre ecrit par cette auteur apparaisent dans une liste déroulante et apartir de sa on aurait une boucle c'est a dire quand on clicckerai sur suivant on aurai afficher tout les info concernent le livre ecrit par cette auteur (livre de l'auteur+1).
voila j' espere que je me suis bien exprimer.
merci beaucoup si tu pouvait m' aider encore une fois.
merci
Répondre
LoadingChargement en cours