aide php

aide php - PHP - Programmation

Marsh Posté le 13-06-2006 à 15:00:33    

bonjour,
 
alors je dois faire un script que j'ai déjà commencé. En fait, j'ai une première page ou je sélectionne un type de produit dans une liste déroulante. Après avoir choisi un type par exemple boitier, j'ai tous les produits de ce type qui apparaissent avec la ref, la désignation, la photo (en petit), le prix. C'est par des requêtes sql que je peux faire cela. Mais mon problème réside dans les images car dans ma base de données j'ai crée une table photo et une table vignette(les mêmes photos en plus petit) mais je n'ai rien mis dans ma table. Mes photos et vignettes se trouvent dans un répertoire. Comment dois_je alors faire mes requêtes? Je sais que je dois donner le chemin d'accès de l'image mais je ne sais pas le faire! Pouvez vous m'aider? merci

Reply

Marsh Posté le 13-06-2006 à 15:00:33   

Reply

Marsh Posté le 13-06-2006 à 16:27:57    

Pô kom ssa
 
Le plus simple, tu donne un identifiant à ton produit.
Par exemple, un numéro de produit.
Ça peut se faire avec un numérotage automatique (autoid) si tu n'en a pas déjà, mais il me semble que la ref du produit devrait aller.
 
Puis dans deux répertoires séparés, tu appelle tes photos et miniatures du numéro d'identifiant du produit.
Par exemple:
Produit n°365476
URL Photo: photo/365476.jpg
URL Miniature: mini/365476.jpg
Point n'est besoin de stocker tout celà dans une BDD. Pour la conversion d'images:
http://php.net/gd
 
Dans ta page d'ajout / modification de produit tu fait uploader la photo par l'internaute (administrateur) si l'administration doit se faire à distance.
+ d'info:
http://fr.php.net/manual/fr/features.file-upload.php

Reply

Marsh Posté le 14-06-2006 à 10:32:06    

alors en fait je vais prendre les problèmes les uns après les autres.
je dois faire un script qui a sur une page une liste déroulante.Jusque là j'y suis arrivée. Après l'utilisateur va selectionner un type de produit et là j'ai sur la même page une petite interface qui s'affiche. Donc en fait après avoir selectionné le type dans la liste déroulante,j'ai tous les produits de ce type qui s'affiche. Et pour chaque produit j'ai la ref,la photo, un texte de description et un prix qui s'affiche. Mon problème réside dans le fait de récupérer ce qui a été selectionné dans la liste déroulante. Je pense que je dois utiliser une variable mais je ne sais pas le faire. le code que j'ai déjà fait
 
<html>
<head>
<title>page_liste_deroulante </title>
</head>
 <body>
  <form action="page_produit" method="get">
   Selectionner le type de produit :  
   <select name="liste" size="1" >
    <?
     $db = mysql_connect("localhost" ,"root", "" ) or die ("erreur de connection" );
     mysql_select_db("jade", $db);
     
     $query = "select type from produit";
     
     //on s‚lectionne toutes les entrees de la table
     $results = mysql_query($query)
     
     //on affiche tous les r‚sultats
     while($row=mysql_fetch_array($results))
     {
      echo "<option value=\"".$row['type']."\">".$row['type']."</option>";
     }
    ?>
   </select>
   
   <input type="submit" value="Valider">  
  </form>
 </body>
</html>
 

Reply

Marsh Posté le 14-06-2006 à 10:50:04    

Mets des balises [ code ].
De la doc:
http://fr3.php.net/manual/fr/reser [...] iables.get

Reply

Marsh Posté le 14-06-2006 à 10:51:52    

Si tu débute en PHP, lis les premiers chapitres du manuel sur http://php.net/

Reply

Marsh Posté le 14-06-2006 à 10:53:39    

OK MERCI je vais allé voir. désolé pour les balises code

Reply

Marsh Posté le 14-06-2006 à 10:58:44    

mais j'aurais besoin d'aide parce que je suis un peu perdue. vous pouvez me guider?

Reply

Marsh Posté le 14-06-2006 à 11:01:54    

print_r($_GET) dans page_produit.php.:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 14-06-2006 à 11:02:35    

Le sujet est très vaste, si tu débute, le plus simple est que tu parcours le forum, il y a des références de documentation pour bien débuter dans les topics en haut de liste.

Reply

Marsh Posté le 14-06-2006 à 11:06:38    

je ne débute pas j'en ai déjà fait en cours mais j'ai déjà vu pas mal de langage donc je mélange tout. Vous pourriez pas me guider pour le code? Je veux pas que vous me le fassiez mais juste m'aider

Reply

Marsh Posté le 14-06-2006 à 11:06:38   

Reply

Marsh Posté le 14-06-2006 à 11:08:05    

princesse926 a écrit :

je ne débute pas j'en ai déjà fait en cours mais j'ai déjà vu pas mal de langage donc je mélange tout. Vous pourriez pas me guider pour le code? Je veux pas que vous me le fassiez mais juste m'aider


 

skeye a écrit :

print_r($_GET) dans page_produit.php.:o


 
[:klem3i1]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 14-06-2006 à 11:08:25    

Pour accéder à ta variable ``liste`` après la soumission du formulaire:
$_GET['liste']

Reply

Marsh Posté le 14-06-2006 à 11:10:54    

ok mais par contre je dois le mettre dans la balise <select>? ou juste après sa fermeture?

Reply

Marsh Posté le 14-06-2006 à 11:15:39    

euh, la cible de ton formulaire c'est le même script?[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 14-06-2006 à 11:17:00    

ben en fait je voudrais ne pas changer de page donc que tous mes produits s'affichent dans la mêmepage que ou j'ai ma liste déroulante

Reply

Marsh Posté le 14-06-2006 à 11:20:26    

Un formulaire html appelle le script cité dans la propriété "action" de la balise "form".
Tu auras forcément un rechargement de ta page.:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 14-06-2006 à 11:26:03    

daccord donc dans ce cas je ne mets pas action c'est ca?

Reply

Marsh Posté le 14-06-2006 à 11:31:49    

a moins que je remette le m^me nom que la page ou j'ai ma liste déroulante

Reply

Marsh Posté le 14-06-2006 à 11:32:26    

Bien sûr que si!:o
 
A priori tu ne maitrises pas du tout certains concepts de base de php, donc commence par faire simple :
1 script qui affiche ton formulaire, et 1 qui récupère le résultat (celui dont le nom ira dans ta propriété "action" ).


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 14-06-2006 à 11:34:26    

non non non non non non non
Tu mets:

Code :
  1. echo "<FORM action=\"$PHP_SELF\" method=\"GET\">";


... pour que ça revienne sur la même page.
 
Puis, tu change ton bouton:

Code :
  1. <input type="submit" name="un_nom_au_pif" value="Valider">


.. pour avoir une variable ``un_nom_au_pif`` quand l'internaute presse le bouton.
 
Enfin, tu ajoute une condition sur ``un_nom_au_pif``:

Code :
  1. if ($un_nom_au_pif) // si l'internaute a appuyé sur le bouton Valider
  2. {
  3.   // afficher les produits de la catégorie concernée
  4. ...
  5. }


Reply

Marsh Posté le 14-06-2006 à 11:36:11    

(tu lui compliques la vie, là, faut commencer par faire simple :o
...et en plus c'est fort peu correct, ton if($un_nom_au_pif) :o )


Message édité par skeye le 14-06-2006 à 11:36:32

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 14-06-2006 à 11:37:32    

fort peu correct? c à dire? si l'internaute bidouille pas les paramètres ça pose pas de prob, sinon tant pis pour lui.

Reply

Marsh Posté le 14-06-2006 à 11:39:52    

kk on va faire une thread à rallonge si tu décide pas à zyeuter quelques tutoriaux, y en a plein de listé ici:
http://forum.hardware.fr/hardwaref [...] 6526-1.htm

Reply

Marsh Posté le 14-06-2006 à 11:42:50    

nargy a écrit :

fort peu correct? c à dire? si l'internaute bidouille pas les paramètres ça pose pas de prob, sinon tant pis pour lui.


$_GET['un_nom_au_pif'] :o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 14-06-2006 à 11:43:19    

bon alors la j'ai changé deux trois trucs. EN fait dès que l'utilisateur selectionne sur un truc de ma liste (par exemple sur boitiers) j'ai tous les produits du type boitiers qui s'affiche. ET je ne dois pas mettre de bouton submit. Et après avoir selectionné un truc de ma liste tous les produits s'affcihent dans la même page. Je suis en stage et grave en galère
 

Code :
  1. html>
  2. <head>
  3. <title>page_liste_deroulante </title>
  4. </head>
  5. <body>
  6.  <form action="page_produit" method="GET">
  7.   Selectionner le type de produit :
  8.   <select name="liste" size="1" onchange='submit()'>
  9.    <?
  10.     $db = mysql_connect("localhost" ,"root", "" ) or die ("erreur de connection" );
  11.     mysql_select_db("jade", $db);
  12.     $query = "select type from produit";
  13.     //on s‚lectionne toutes les entrees de la table
  14.     $results = mysql_query($query)
  15.     //on affiche tous les r‚sultats
  16.     while($row=mysql_fetch_array($results))
  17.     {
  18.      echo "<option value=\"".$row['type']."\">".$row['type']."</option>";
  19.     }
  20.    ?>
  21.   </select>
  22.   <input type="submit" value="Valider">
  23.  </form>
  24. </body>
  25. </html>

Reply

Marsh Posté le 14-06-2006 à 11:56:32    

$_GET['un_nom_au_pif']
ha ouais désolé, trop de vieille habitudes...
 
Pas de bouton submit, ça se fait avec JS:

Code :
  1. <form name="monformulaire" ...>
  2. ...
  3. <select onchange="javascript:document.monformulaire.submit();" ...>
  4. ...
  5. </select>
  6. <noscript>&nbsp;<input type="submit" value="Valider"></noscript>


 
Et si tu veux faire la différence entre un utilisateur qui arrive sur la page, de celui qui est en cours de recherche:

Code :
  1. <input type=hidden name="un_nom_au_pif" value="y">

Reply

Marsh Posté le 14-06-2006 à 12:00:20    

ok j'ai compris mêmesi j'ai du mal. le pire c'est que je vois quoi faire mais je ne sais pas le codage a faire derrière
je crois que pour commencer je vais faire afficher les produits dans une autre page. Ce serait plus simple pour moi non?

Reply

Marsh Posté le 14-06-2006 à 12:10:11    

oui, plus simple.

Reply

Marsh Posté le 14-06-2006 à 12:18:56    

ok donc pour la première page elle est faite. mais pour savoir ce qui a été selectionné dans ma liste je fais
$_GET['liste']
 
mais je le met à quel endroit?

Reply

Marsh Posté le 14-06-2006 à 12:20:44    

et après dans ma deuxième page ou je fais mes requêtes. je fais
select code, ref, prix h.t... from produit where code=".$_GET['liste'].";
 
c'est juste??

Reply

Marsh Posté le 14-06-2006 à 13:21:25    

ça parait pas mal... ;)


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 14-06-2006 à 14:01:34    

c'est bien alors mais la structure est juste ? par contre pour stocker ma variable je mets $_GET['list'] a quel endroit dans ma première page? avant le </select> ? ou exactement?

Reply

Marsh Posté le 14-06-2006 à 14:02:58    

comment ça pour stocker ta variable?[:autobot]
Dans ta première page ça n'existe pas, $_GET['list'], là.:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 14-06-2006 à 14:35:41    

ben en fait dans ma première page j'aima liste et il faut que je sache ce que l'utilisateur a selectionné! donc moi je pensais stocker ca dans une variable que je réutiliserai dans madeuxièmepage pour mes request parce que mes requetes vont avoir des resultats différents selon ce qu'on a selectionné

Reply

Marsh Posté le 14-06-2006 à 14:39:14    

ça n'a pas de sens...ta variable n'existera qu'au moment où ton formulaire sera validé, ce qui lancera ta seconde page.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 14-06-2006 à 14:49:07    

princesse9 26> tu n'a sûrement jamais fait une seule page web, prends les tutos que je t'ai donné, sinon tu va perdre beaucoup de temps.

Reply

Marsh Posté le 14-06-2006 à 14:49:36    

je sais plus alors. Mais qu'est ce que je dois faire pour récupérer ce que l'utilisateur a choisi dans ma liste déroulante?

Reply

Marsh Posté le 14-06-2006 à 14:50:29    

ben j'en ai fait en cours mais c'était basique ce que j'ai apris

Reply

Marsh Posté le 14-06-2006 à 14:53:54    

par contre est ce que je dois utiliser du javascript ou que du php? je demande ça pour savoir ce qui serait le mieux??

Reply

Marsh Posté le 15-06-2006 à 17:09:49    

princesse926 a écrit :

par contre est ce que je dois utiliser du javascript ou que du php? je demande ça pour savoir ce qui serait le mieux??


 
Ca dépends completement pour quoi faire...
 
En gros :  
le PHP est éxécuté au niveau du serveur, càd que quand l'utilisateur à charger la page en PHP, tout le code PHP a été remplacé par de l'html, ta page est donc statique.
Le javaScript est éxécuté coté client, donc là, ça te permet de faire des chose + ou - dynamiques sur une seule page, sans avoir besoin de la recharger...
 
Pour ton truc de listes, du PHP tout seul peut suffir, mais avec un peu de js ce sera aussi bien.


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed