× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum des Webmasters
 Creer une page html à partir d'une page phpSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
loulou84
  Posté le 07/02/2010 @ 17:46 
Aller en bas de la page 
Petit astucien

Bonsoir,

Je m'explique un peu: j'aimerais automatiser un peu les creations de mes pages web. En effet dans la page catalogue, j'aimerais à l'aide d'un formulaire et un peu de php creer ma page catalogue ou quelques details changent pour les produits, mais tout le reste est pareille.

Donc je releve mes variable prix,nom,details mais aprés je ne sais pas comment creer une page html ou meme un fichier .html a l'aide du php ?

Je sais pas si c'est comme cela qui faut faire?

Un petit coup de main s'il vous plait!

merci

Publicité
Dreamer
 Posté le 07/02/2010 à 17:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Salut

C'est un site qui existe et que tu veux transformer en e-commerce avec une interface d'administration ???

Si oui , un lien serait utile !!

SkyNet
 Posté le 07/02/2010 à 18:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bjr,

C'est bien comme cela qu'il faut faire, seulement le PHP est un language de programmation à part entière et il y a beaucoup de chose à apprendre. On ne vas pas tout t'écrire ici, ce serait trop long.

En revanche, je te conseille l'excellent tutoriel du zéro sur le PHP, c'est là que j'ai tout appris.

PHP est un langage très puissant qui, coupler avec une base de donnée SQL, te permettra de générer des centaines de pages dynamiques visibles grâce à une dixaine de page php réels, le tout avec une gestion très simple.

loulou84
 Posté le 07/02/2010 à 18:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Dreamer: je veux pas vendre directement, c'est just pour exposer les produits!

Et ensuite pour ce qui est du php et sql, je commence a y voir le jour!

Je veux just une idée et aprés je bosse dessus!Mon soucie c'est que j'ai aucune idée!

J'explique mieux. j'ai un catalogue quand tu clique sur la photo d'un produit ca va sur une fiche details. Et en faite c'est cette fiche details que je veux creer automatiquement. Je rentre le prix, le details et le chemin absolu de l'image et voila c'est fait.

Merci

loulou84
 Posté le 07/02/2010 à 19:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Parfait

Merci,

Malcolm
 Posté le 07/02/2010 à 19:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

C'est *relativement* simple, pour peu que tu prennes le temps de décortiquer les étapes de raisonnement.

- il te faut un lieu de stockage pour stocker des données "brutes", c.à.d. prix, image, détails.

- il te faut relier les données par produit : un produit a justement un prix, une image et des détails.

- le plus simple est de travailler avec une base de données. Tu peux aussi le faire avec un fichier (texte) mais le traitement est plus lourd.

Partant de là, tu dois déjà avoir fait une table nommée par exemple table_produits avec au moins 4 champs :

- un identifiant en clé primaire, auto incrémenté nommé "id" (produits ID=1, ID=2, ID=3 ... ID=X)

- un champ texte "nom"

- un champ texte "détails"

- un champ float "prix" (si ton prix peut contenir des décimales)

- un champ texte "vignette" ou "image".

Partant de là, lorsque tu enregistre un produit avec les données qui le composent, tu adjoins un prix, une vignette et des détails.

Donc le produit dont l'ID vaut 50 aura le prux lambda, les détails lambda2, et la vignette lambda3.

Une fois ceci fait, il ne te reste que la page à créer.

Tu fais donc un "template", c'est à dire un "moule" où viendront s'insérer les données. Puisque ton template va utiliser PHP, il faut qu'il ait l'extension .php

Dans ce template, en tête de fichier, mets ceci :

<?php

$id_produit = (isset($_GET['id'])) ? abs(intval($_GET['id'])) : 0;

Ceci va récupérer l'ID de produit passé par URL. On supposera que ta page sera appelée ainsi : http://tonsite/produits.php?id=50

et c'est ce "id=50" qu'on récupère et on stocke la valeur (50) dans la variable $id_produit.

A propos de l'écriture "bizarre" : abs renvoie la valeur absolue (opération mathématique) du coup on sera sûr que $id_produit sera supérieur ou égal à zéro.

intval renvoie la valeur entière, numérique, donc si un petit malin s'amuse à appeler http://tonsite/produits.php?id=-3.141592654, alirs $id_produits vaudra forcément 3 (valeur absolue + entier numérique)

Et si jamais on retire l'ID du paramètre (http://tonsite/produits.php) alors $_GET ne contiendra plus "id=" et $id_produit prendra la valeur de zéro par défaut.

A cette étape, on est sûr d'avoir un $id_produit :

- qui existe

- qui est un entier numérique positif ou nul

ensuite, on va effectuer la requête dans la base pour savoir si un produit existe ou non correspondant à cet ID.

Toujours à la suite, ajoute ce code :

$query = sprintf("SELECT nom, prix, image, details FROM table_produits WHERE id='%d';", $id_produit);

Cette requête deviendra au final, si on appelle http://tonsite/produits.php?id=50 :

SELECT nom, prix, image, details FROM table_produits WHERE id='50';

Toujours à la suite, on exécute la requête :

$reponse = mysql_query($query) or die ($query.'<br>'.mysql_error());

Si une ligne est renvoyée par MySQL, ça veut dire qu'il y a un produit correspondant. Sinon, pas de produit (l'ID étant unique, il ne peut pas y avoir 2 produits dont l'ID vaut 50)

Toujours à la suite :

if (mysql_num_rows($reponse) != 1)

{

$message_erreur = '<p class="erreur">Il n'y a aucun produit correspondant.</p>';

}

else

{

$message_erreur = ''; // on déclare la variable vide.

$produit = mysql_fetch_array($reponse);

}

?>

Maintenant, on fait la page HTML "normalement", et à l'endroit où tu veux afficher les données, il suffit de voir si $message_erreur est rempli (donc pas de produit) ou non, auquel cas on affiche les données du produit.

<html>

<head>...</head>

<body>

<?php

if ($message_erreur != '') // message d'erreur non vide = pas de produit correspondant

{

echo $message_erreur;

}

else // message d'erreur vide = un produit a été trouvé

{

echo '<h1>Produit : '.$produit['nom'].'</h1>';

echo '<p><img src="images/'.$produit['image'].'" width="120" height="100" alt="Produit"></p>';

echo '<p>Prix : <strong>'.$produit['prix'].' &euro;</strong> '.$produit['details'].'</p>';

}

?>

Après, avec MySQL, tu peux faire bien plus ... Voici d'autres exemples : http://www.php-astux.info/script-mysql.php

ATTENTION : j'ai laissé un die mysql_error

c'est intéressant pour toi de le mettre en phase de test pour savoir quelle est la requête qui a foiré (puisque je fais afficher la requête) et pourquoi (j'affiche mysql_error = l'erreur retournée par mysql). Sur un site "en ligne", il faut bien entendu supprimer cela, il ne faut pas donner d'indications sur tes erreurs mysql aux gens.

Malcolm
 Posté le 07/02/2010 à 19:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

je viens de mettre à jour mon message avec des couleurs, mais vu que ce forum ne sait toujours pas interpréter de code PHP, j'ai du l'effacer puis le recréer.

loulou84
 Posté le 08/02/2010 à 14:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Malcom j'ai lu plusieurs fois ton explication,

J'ai creer ma base de donné, mon formulaire pour remplir ma base de données.

Mais quelque chose m'échappe, c'est le template comment on sait quel valeur de l'Id on va chercher?

En effet je viens de remplir mon formulaire, d'uploader ma base de donnée, mais rien ne me donne L'id?

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
49,99 €Box TV Android Xiaomi Mi Box S 4K UHD, 8 Go ROM, 2 Go RAM à 47,99 €
Valable jusqu'au 17 Août

Cdiscount fait une promotion sur la Box TV Android Xiaomi Mi Box S (4K UHD, 8 Go ROM, 2 Go RAM) qui passe à 47,99 €. Avec elle, transformez n'importe quel TV en télévision connectée sous Android TV. Elle est idéale pour regarder de la vidéo en ligne avec la compatibilité Netflix 4K, Disney+, Amazon Prime Video, Molotov TV, MyTF1, M6 Replay. mais aussi Spotify, YouTube, ... Les abonnés CanalPlus pourront également de MyCanal, Canalplay ou OCS GO sans investir dans un second décodeur. Vous pourrez également y mettre Kodi pour gérer tous vos films et séries (en MKV, AVI, MP4, etc.). La box est accompagnée d'une télécommande bluetooth et possède le WiFi, un port HDMI, un port USB et une prise casque. Vous pouvez lui ajouter un port Ethernet via cet adaptateur. L'offre n'est valable que jusqu'à ce soir.


> Voir l'offre
199 €Barre de son Yamaha YAS-109 120W, Alexa, DTS virtual, Bluetooth à 199 €
Valable jusqu'au 16 Août

Amazon fait une promotion sur la barre de son Yamaha YAS-109 120W, Bluetooth qui passe à 199 € alors qu'on la trouve ailleurs autour de 270 €. Grâce à la commande vocale Alexa intégrée, l'YAS-109 peut être contrôlée facilement et obéit à la parole. La technologie DTS Virtual:X et deux haut-parleurs de graves intégrés offrent un son Surround incroyablement profond.


> Voir l'offre
83,44 € livréeSouris Logitech MX Master 3 (unify, bluetooth, capteur laser) à 83,44 € livrée
Valable jusqu'au 16 Août

Amazon Italie fait une promotion sur la nouvelle souris sans fil Logitech MX Master 3 qui passe à 78,68 € (avec la TVA ajustée). Comptez 4,76 € pour la livraison en France soit un total de 83,44 € livrée alors qu'on la trouve ailleurs à partir de 109 €. Cette souris offre une double connectivité sans fil unify ou bluetooth. Elle vous permet de contrôler jusqu'à 3 ordinateurs différents à l'aide d'une seule souris. Copiez et collez du texte d'un écran à un autre, ou encore transférez des fichiers d'un ordinateur à un autre avec une facilité déconcertante. Conçue pour offrir précision, contrôle et confort aux utilisateurs expérimentés, la souris sans fil Logitech MX Master 3 se caractérise notamment par une forme parfaitement adaptée à la main, des fonctionnalités avancées et une conception incroyable. Elle dispose d'une molette pour le pouce afin de faire défiler le contenu de l'écran latéralement d'un simple mouvement du pouce. Et avec le logiciel Logitech Options vous allez pouvoir paramétrer au mieux votre souris. Ainsi, vous allez pouvoir ajuster la vitesse de défilement, naviguer au sein du contenu sous forme d'onglets, changer d'application, régler le volume et bien d'autres choses. Son capteur laser Dark field vous permettra de l'utiliser sur n'importe quelle surface.

Vous pouvez utiliser votre compte Amazon France sur Amazon Italie et il n'y a pas de douane.


> Voir l'offre

Sujets relatifs
Sauver modifs fich Excel à partir d'1 page HTML
Créer une page web responsive ?
Page html en CSS
Intégrer mp3 et video sur une page html
mot de passe pour accéder une page html
créer une page web sans codage avec photoshop
Créer un code pour page fan Facebook
Rechargement de page HTML
impossible d'utiliser CSS à partir d'une page JSP
créer page perso chez free
Plus de sujets relatifs à Creer une page html à partir d''une page php
 > Tous les forums > Forum Forum des Webmasters