aide php - PHP - Programmation
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
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 slectionne toutes les entrees de la table
$results = mysql_query($query)
//on affiche tous les rsultats
while($row=mysql_fetch_array($results))
{
echo "<option value=\"".$row['type']."\">".$row['type']."</option>";
}
?>
</select>
<input type="submit" value="Valider">
</form>
</body>
</html>
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
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/
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?
Marsh Posté le 14-06-2006 à 11:01:54
print_r($_GET) dans page_produit.php.
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.
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
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 |
Marsh Posté le 14-06-2006 à 11:08:25
Pour accéder à ta variable ``liste`` après la soumission du formulaire:
$_GET['liste']
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?
Marsh Posté le 14-06-2006 à 11:15:39
euh, la cible de ton formulaire c'est le même script?
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
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.
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
Marsh Posté le 14-06-2006 à 11:32:26
Bien sûr que si!
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" ).
Marsh Posté le 14-06-2006 à 11:34:26
non non non non non non non
Tu mets:
Code :
|
... pour que ça revienne sur la même page.
Puis, tu change ton bouton:
Code :
|
.. 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 :
|
Marsh Posté le 14-06-2006 à 11:36:11
(tu lui compliques la vie, là, faut commencer par faire simple
...et en plus c'est fort peu correct, ton if($un_nom_au_pif) )
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.
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
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']
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 :
|
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 :
|
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 :
|
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?
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?
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??
Marsh Posté le 14-06-2006 à 13:21:25
ça parait pas mal...
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?
Marsh Posté le 14-06-2006 à 14:02:58
comment ça pour stocker ta variable?
Dans ta première page ça n'existe pas, $_GET['list'], là.
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é
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.
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.
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?
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
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??
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.
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