Page 1 sur 1

Aide: Sur la construction du panier en tuto

Posté : 03 déc. 2010, 14:05
par niko94100
(P.S: je fais du PHP depuis 4 jours ...)

Bonjour à tous,

J'ai lu et compris le tuto de construction d'un panier.

En gros j'aimerais faire la même MAIS pour créer une liste d'adhérent à partir d'une recherche que j'exporterais ensuite.

Donc la première chose que j'ai fait c'est créer un formulaire de recherche à partir d'une base de donnée adhérent qui comprend plusieurs champs
(La pour simplifier nous allons prendre uniquement ID NOM PRENOM (3 champs))

Ma recherche s'effectue sur une chaine de caractères partielles.
(Si je cherche BIDULE Henry je tape BID et celà m'affiche tous les noms commençant par BID)

Jusque là pas de soucis

La suite serait de sélectionner le bon adhérent dans mon "panier" résultat en cliquant sur un lien "ajouter" qui serait à côté de chaque résultat
Grâce à l'aide de ce site et des forumeurs j'ai compris qu'il fallait que je passe par $_SESSION
J'ai utilisé le tuto "construire un panier"

Jusqu'ici TOUT VA BIEN ... je pense pouvoir m'en sortir ...

MAIS LA QUESTION EST :

Comment faire la relation entre le résultat de ma recherche et notamment le résultat qui m'intéresse ET mes différentes variables de SESSION

En gros je tape dans mon formulaire "BID" (Le formulaire c'est OK ça marche)
Le résultat affiché est: (afficher le résultat OK ça marche)

BIDULE Henry (ajouter) ===> Il n'y a que lui que je veux ajouter à mon "PANIER" donc je clique sur "ajouter"
BIDET Claude (ajouter)
BIDULE Edouard (ajouter)

Et si je vais voir mon panier
BIDULE Henry

Bien sur faire cela pour plusieurs adhérents puisque c'est un listing que je crée

Mon soucis est que j'apprends avec des exemples .... si quelqu'un pouvait m'aider en reprenant un exemple simple ce serait super.

En tous les cas plus j'avance et plus je veux créer des nouvelles fonctionnalités !!!!
:lol:

Re: Aide: Sur la construction du panier en tuto

Posté : 03 déc. 2010, 14:44
par moogli
salut,

a priori tu sais tout faire XD.

ce qu'il te manque
- il faut mettre un lien ou une case à cocher à coté de chaque nom (ou sur le nom directement dans le lien).
- Il faut passer en paramètre la clef primaire de la table (ici ID je suppose) dans le lien.
- tu récupère sur la cible la valeur de l'id que tu met dans un tableau par exemple $_SESSION['user'][] )

le "panier" sera $_SESSION['user']

@+

Re: Aide: Sur la construction du panier en tuto

Posté : 03 déc. 2010, 14:50
par niko94100
Merci pour ta réponse ;)

- il faut mettre un lien ou une case à cocher à coté de chaque nom (ou sur le nom directement dans le lien) ==> Comment mettre dans un lien mes requêtes Sql ? avec un <a href="vers la page.php">REQUETE</a> ?
- Il faut passer en paramètre la clef primaire de la table (ici ID je suppose) dans le lien. => Justement aucune idée de comment faire lol
- tu récupère sur la cible la valeur de l'id que tu met dans un tableau par exemple $_SESSION['user'][] ) => Idem lol

Désolé pour moi tout ça n'est pas très intuitif en fait ... je n'y connais pas grand chose à la base ... j'ai simplement repris de bouts de code que j'ai analysé et ensuite je m'efforce de reproduire la logique.
Bien sur j'ai lu et relu les cours de PHP ... mais alors dès qu'il s'agit de les utiliser pour un exemple concret .. alors là ... lol

Re: Aide: Sur la construction du panier en tuto

Posté : 03 déc. 2010, 15:05
par moogli
hum la je pas commetn tu a assimilé le panier :s

1/ tu doit avoir un while pour le traitement de la requete ?
<?php
// $req est le résultat du mysql_query
while ($data = $req) {
echo '<a href="?ajoutid='.$data['ID'].'">'.$data['nom'].' '.$data['prenom'].'</a><br />';
}
?>
2/ en haut de la page ou il y a l'affichage du N°1
<?php
if (isset($_GET['ajoutid'])) {
$_SESSION['user'][] = $_GET['ajoutid'];
}
?>
reste a faire ce que tu veut avec pour cela tu a les id dans $_SESSION['user'] (c'est un tavbleau).

@+

Re: Aide: Sur la construction du panier en tuto

Posté : 03 déc. 2010, 16:00
par niko94100
AHHH MOOGLIIIII
Bon j'ai testé pas mal de truc j'ai modifié mon code
<HMTL>
<p>
    Tapez le nom partiel de l'adhérent
</p>
<form action="" method="post">

<p>
    <input type="text" name="nom" />
    <input type="submit" value="Valider" />
</p>
</form>
</HTML>


<?php
$nom=$_POST['nom'];

if (isset($_GET['ajoutid'])) 
{
$_SESSION['user'][] = $_GET['ajoutid'];
}

mysql_connect("localhost", "root", "") or die (mysql_error ());
mysql_select_db("test")or die (mysql_error ()); 

// La c'est ma recherche dans la base
$reponse = mysql_query("SELECT * FROM nom WHERE nom LIKE '%".$nom."%'");


// On affiche chaque entrŽe une ˆ une
while($data=mysql_fetch_array($reponse))
{

echo '<a href="?ajoutid='.$data['ID'].'">'.$data['nom'].' '.$data['prénom'].'</a><br />';
}

?>
PAR CONTRE j'ai modifié ton
while ($data=$reponse) ça faisait bugguer firefox
et j'ai mis
while($data=mysql_fetch_array($reponse))

Et la oh magie ça me met les liens avec le bon 'ajoutid'

On se rapproche on se rapproche ....

Maintenant je vais passer au tableau SESSION et que vais je faire avec ce lien et le ajoutid .... lol
Moi boulet ???
un peu lol =P~

Re: Aide: Sur la construction du panier en tuto

Posté : 03 déc. 2010, 17:47
par niko94100
BON EH BIEN APRES 4 JOURS OU JE PARTAIS DE 0 A ME FAIRE MAL AU CRANE AVEC DU PHP ET DU MYSQL VOILA MON CODE FINAL:
<HMTL>
<p>
    Tapez le nom partiel de l'adhérent
</p>
<form action="" method="post">

<p>
    <input type="text" name="nom" />
    <input type="submit" value="Valider" />
</p>
</form>
</HTML>


<?php
$nom=$_POST['nom'];

if (isset($_GET['ajoutid'])) 
{
$_SESSION['user']['id'] = $_GET['ajoutid'];
}

mysql_connect("localhost", "root", "") or die (mysql_error ());
mysql_select_db("test")or die (mysql_error ()); 

// La c'est ma recherche dans la base
$reponse = mysql_query("SELECT * FROM nom WHERE nom LIKE '%".$nom."%'");


// On affiche chaque entrŽe une ˆ une
while($data=mysql_fetch_array($reponse))
{

echo '<a href="?ajoutid='.$data['ID'].'">'.$data['nom'].' '.$data['prénom'].'</a><br />';
}


$id2=$_SESSION['user']['id'];
mysql_query("INSERT INTO result (ID, nom, prénom)SELECT * FROM nom WHERE id LIKE '$id2'");
$resultats = mysql_query("SELECT * FROM result");


while($donnees2=mysql_fetch_array($resultats))
{
?>
	
    <p>
    <?php echo $donnees2['ID']." ".$donnees2['nom']." ".$donnees2['prénom'];
    ?>
   </p>
   <?php
}
?>
Bien sur CA MARCHE !!!!!

En gros j'ai mixé le code du panier et la création de base de données

Je ne l'ai pas encore mis avec mon autre partie de code qui consiste à créer une table à chaque recherche nouvelle:
Comme ça je stocke chaque recherche dans ma base: 1 table = 1 recherche

Donc au final j'ai un formulaire pour créer ma recherche (pas dans le code)
Puis mon formulaire de recherche (cf code)
Puis je fais une requete SQL à laquelle j'ajoute un peu de $_SESSION avec des liens...
Et ensuite je me sers de l'ID avec la commande INSERT pour insérer dans ma base ...

Eh bien MERCIIIIIIII MOOGLI tu m'as donné le truc qui me manquait .... ;)

Maintenant à faire:
Mise en page de tout ça
Faire un travail sur mes recherches (tables) avec les options supprimer et modifier
La pour le coup une table n'a pas d'ID ..... va falloir que je me creuse la tête encore ...
Et enfin la touche finale (pour mes besoins) permettre grâce à une liste copiée collée de retrouver les infos dans une base

Exemple si j'ai
BIDULE Chouette
TRUC Machin
TEST Essai

Copier coller cette liste et que la recherche me retourne par exemple adresse date de naissance etc etc ...

En tous les cas merci je reviendrais vers ce forum un peu plus tard ;)

Re: Aide: Sur la construction du panier en tuto

Posté : 03 déc. 2010, 19:18
par moogli
while ($data=$reponse) ça faisait bugguer firefox
Heu non php te retourne une erreur mais firefox y ait pour rien il sait même pas ce qu'il se passe sur le serveur (pour lui php, python, pearl, ruby, .net, asp ou n'importe quoi d'autre c'est la même il connait pas XD lui son jo c'est le rendu du html ;))

@+

PS : peut tu mettre le sujet en résolu ? merci

Re: Aide: Sur la construction du panier en tuto

Posté : 06 déc. 2010, 23:51
par niko94100
Merci moogli

Re: Aide: Sur la construction du panier en tuto

Posté : 07 déc. 2010, 00:08
par moogli
de rien

@+