Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/07/2011, 18h33   #1
Invité de passage
 
Femme Murielle
Étudiant
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Murielle

Informations professionnelles :
Activité : Étudiant
Secteur : Arts - Culture

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 4
Points : 4
Par défaut une page contenu.php

bonjour,

je débute, et j'ai suivi les cours...

Je voudrais faire une page contenu.php dont la structure serra:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
STRUCTURE DE LA PAGE contenu.php
inclure fonctions.inc.php

// affichage permanent:
--------------------------------------
				bannière
--------------------------------------
				corps
	-récupère les valeurs de la base catalogue, de la table armoirea 
	- affiche  les données : photos (100px*100px)   /    Désignation  /  Description /  /+ 1 bouton proposer un prix (pour chaque article)
	
	si (1 des boutons [proposer un prix] a été cliqué
	{
		affiche : la fiche du produit correspondant   /  votre prix:($prix) bouton ok 
		 si (ok est cliqué)
		 {
		-récupérer la valeur; 
		-comparer ($prix); (fonction dans fonctions.inc.php ,  conditionne $réponse en fonction de $resultat=$prix-$prixmin )
		-afficher  vous proposez : $prix pour cet article 
					et la réponse $reponse correspondante
			si ($résultat<0)
			{
				-affiche bouton [reproposer un prix]
					si (bouton [reproposer un prix] est cliqué)
					{
					-vider le formulaire 
					-effacer la réponse
				(en gros, retour à la ligne 12)
					}
			
			}
			si ( $résultat>=0)
			{
				-affiche bouton [top la]
					si(bouton [top la] cliqué)
					{
						- insérer les données dans le panier
					}
			}
		-affiche bouton [retour au catalogue]	
			si (bouton [retour au catalogue] cliqué)
			{
				- tout effacer
			(en gros, retour à la ligne 9)
			}
			
		}
	}
----------------------------------------
					pied
ce bouton (en rouge dans le code) doit être lié a l'article de la ligne....
et ne doit prendre en compte que les valeurs correspondantes....
et là je ne vois pas comment faire...

un p'tit coup de main s'il vous plait ???
muktaditi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 23h02   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
si c'est de la gestion de panier, tu peux regarder ici :
- Tutoriel sur la création d'un panier en PHP

Mais si tu débute, commence par ici :
- Les meilleurs cours et tutoriels PHP : initiation
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2011, 10h48   #3
Invité de passage
 
Femme Murielle
Étudiant
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Murielle

Informations professionnelles :
Activité : Étudiant
Secteur : Arts - Culture

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 4
Points : 4
Bonjour, et merci de la réponse...

je suis les cours pour grands débutants, j'en suis a la partie qui concerne la relation entre la base de données et php....pas encore dans la gestion du panier...

non en fait, j'ai donc les données de ma base qui s'affichent, et sur chaque "ligne" de mon catalogue se trouve un bouton dont l'action fait que je récupère 1 valeur donnée par l'utilisateur, pour l'article concerné...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php include ("fonctions.php");
//si action de l'utilisateur 
if (isset ($_POST['prop'] AND $_POST['prix']!=0)){
connectMaBase();
 
/*récupérer les champs DE L'ARTICLE 
pour afficher designation et description (et une photo, mais j'ai pas encore vu ce châpitre)
et la valeur prixmin incluse dans ma base mais non affichée ($prixmin)
 
 
 
*/
 
 
$prix=$_POST['prix'];
compare($prix);
echo '<table>
		<tr>
			<td>
				<table>
					<tr>
						<td>photo</td>
					</tr>
					<tr>
						<td>'.$data['designation'].'</td>
					</tr>
					<tr>
						<td> '.$data['description'].' </td>
					</tr>
				</table>
			</td>
			<td>
				Votre prix pour cet article est de '.$prix.' €</br>
				Ma réponse : '.$reponse.'
			</td>
		</tr>
	   </table>'
 
 
 
}
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>L'ARMOIRE DES GRANDS</title>
</head>
 
<body>      
<h2> L'ARMOIRE DES GRANDS</h2>
<?php 
 
	connectMaBase();
	//On prépare la requête SQL qui récupère les champs
	$sql = 'SELECT * FROM armoirea'; 
	/* On lance la requête (mysql_query) 
		et on impose un message d'erreur si la requête ne passe pas (or die) */ 
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
	//on organise $req en tableau associatif  $data['champ']
	//en scannant chaque enregistrement récupéré
	//on en profite pour gérer l'affichage
	//boucle
	while ($data = mysql_fetch_array($req)) { 
	// on affiche les résultats 
		echo '<table border="1">
				<tr>
					<td> '.$data['reference'].' </td>
					<td> '.$data['designation'].' </td>
					<td> '.$data['description'].' </td>
					<td>
						<form name="votre_prix" method="post" action="armoire_a.php">
						<input type="text" name="prix"><input type="submit" value="proposer un prix" name="prop">
						</form>
						</td>
				</tr>
				</table>';
	}
						//On libère la mémoire mobilisée pour cette requête dans sql
						//$data de PHP lui est toujours accessible !
						mysql_free_result ($req);  
 
						//On ferme sql
						mysql_close (); 
?>
</body>
</html>
j'ai laissé en blanc là ou je cale...
/*récupérer les champs DE L'ARTICLE
pour afficher designation et description (et une photo, mais j'ai pas encore vu ce châpitre)
et la valeur prixmin incluse dans ma base mais non affichée ($prixmin)
muktaditi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2011, 11h04   #4
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Je ne comprends pas ton problème, puisque le principe est dans ton code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php 
 	// connexion a la BdD
	connectMaBase();
	// la requête SQL
	$sql = "SELECT * FROM armoirea"; 
	// On lance la requête (mysql_query) + message d'erreur si la requête ne passe pas (-> or die)
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
	//on organise $req en tableau associatif  $data['champ'] en scannant chaque enregistrement récupéré
	// boucle "tant qu'il y a des fiches"
	while ($data = mysql_fetch_array($req)) { 
		// on affiche les résultats 
		// .................
	}
?>
Il suffit de faire la bonne requête, et récupérer les bons champs ...

Remarque :
- en début de document (1 seule fois)
Code :
1
2
3
4
<?php 
 	// connexion a la BdD
	connectMaBase();
?>
- en fin de document (1 seule fois)
Code :
1
2
3
4
<?php 
	//On ferme sql
	mysql_close (); 
?>
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2011, 13h36   #5
Invité de passage
 
Femme Murielle
Étudiant
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Murielle

Informations professionnelles :
Activité : Étudiant
Secteur : Arts - Culture

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 4
Points : 4
Hé bien mon soucis est que cette requête ne concerne qu'un seul article...

Pour que ma base me renvoie les données ne concernant que cet article,
ma requête doit indiquer que seul cet article est concerné..

J'ai donc pensé envoyer la valeur donné par l'utilisateur dans ma base, dans un champ 'prix'
et mettre en requête "quand le champs prix est renseigné "

seulement, cette donnée dans ma base reste, et si je refais une proposition de prix pour un un autre article, il me donne 2 réponses..

j'ai pas encore vu ça, mais existe t'il une requête qui efface les champs de la base ????

j'en suis là du code mais ça ne fonctionne pas:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php include ("fonction.php");
connectMaBase();
//si action de l'utilisateur 
if (isset ($_POST['prop'])){
//envoyer la valeur prix dans la base
 $sql = 'INSERT INTO armoirea VALUES("'.$prix.'")';
 mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
 
/*récupérer les champs DE L'ARTICLE 
pour afficher designation et description (et une photo, mais j'ai pas encore vu ce châpitre)
et la valeur prixmin incluse dans ma base mais non affichée ($prixmin)*/
 
	$sql = 'SELECT * FROM armoirea Where prix!="0"'; 
 
 /* On lance la requête (mysql_query) 
		et on impose un message d'erreur si la requête ne passe pas (or die) */ 
 
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
 
	$prixmin=$data['prixmin']
	$prix=$_POST['prix'];
	compare($prix);
	while ($data = mysql_fetch_array($req)) { 
 
// on affiche les résultats 
echo '<table>
		<tr>
			<td>
				<table>
					<tr>
						<td>photo</td>
					</tr>
					<tr>
						<td>'.$data['designation'].'</td>
					</tr>
					<tr>
						<td> '.$data['description'].' </td>
					</tr>
				</table>
			</td>
			<td>
				Votre prix pour cet article est de '.$prix.' €</br>
				Ma réponse : '.$reponse.'
			</td>
		</tr>
	   </table>'
 
 
 }
}
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>L'ARMOIRE DES GRANDS</title>
</head>
 
<body>      
<h2> L'ARMOIRE DES GRANDS</h2>
<?php 
 
	connectMaBase();
	//On prépare la requête SQL qui récupère les champs
	$sql = 'SELECT * FROM armoirea'; 
	/* On lance la requête (mysql_query) 
		et on impose un message d'erreur si la requête ne passe pas (or die) */ 
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
	//on organise $req en tableau associatif  $data['champ']
	//en scannant chaque enregistrement récupéré
	//on en profite pour gérer l'affichage
	//boucle
	while ($data = mysql_fetch_array($req)) { 
	// on affiche les résultats 
		echo '<table border="1">
				<tr>
					<td> '.$data['reference'].' </td>
					<td> '.$data['designation'].' </td>
					<td> '.$data['description'].' </td>
					<td>
						<form name="votre_prix" method="post" action="armoire_a.php">
						<input type="text" name="prix"><input type="submit" value="proposer un prix" name="prop">
						</form>
						</td>
				</tr>
				</table>';
	}
						//On libère la mémoire mobilisée pour cette requête dans sql
						//$data de PHP lui est toujours accessible !
						mysql_free_result ($req);  
 
						//On ferme sql
						mysql_close (); 
?>
</body>
</html>
muktaditi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2011, 09h46   #6
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
ok ok.
C'est dans le(s) formulaire qu'il faut indiquer/transmettre l'IDENTIFIANT de l'article/produit concerné :
Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
		echo '<table border="1">
				// ...
						<form name="votre_prix" method="post" action="armoire_a.php">
						<input type="hidden" name="idProduit" value="'.$data['id_produit'].'" />
						<input type="text" name="prixProp" value="'.$data['prix'].'" />
						<input type="submit" value="proposer un prix" name="prop" />
						</form>
// ...
		</table>';
?>
Où id_produit est l'identifiant du produit dans la BD.

Comme si s'agit d'un produit existant -> requete UPDATE (et pas INSERT)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if (isset ($_POST['prixProp']) && isset ($_POST['idProduit'])){
	// recuperation et PROTECTION des donnees transmises
	$idProduit = mysql_real_escape_string($_POST['idProduit']);
	$prixProp = mysql_real_escape_string($_POST['prixProp']);
	// modification dans la base
	$sql = "UPDATE armoirea SET ".
		" prix = '".$prixProp."' ".
		" WHERE id_produit = '".$idProduit."';";
	mysql_query($sql) or die('Erreur SQL :<br />'.$sql.'<br />'.mysql_error());
}
?>
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2011, 11h04   #7
Invité de passage
 
Femme Murielle
Étudiant
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Murielle

Informations professionnelles :
Activité : Étudiant
Secteur : Arts - Culture

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 4
Points : 4
Ok !! je vois le principe...
je débute et me rends compte que d'à être préssé on saute pas mal d'étapes...

Je décortique pour bien comprendre et je butte sur un truc..

dans ma table, la colonne primary , (l'id) est nommée reference

dans le formulaire
$data['id_produit'] correspond-t'il à la valeur de 'reference' (de l'id) ??


et merci beaucoup pour ton aide
muktaditi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2011, 13h12   #8
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Citation:
Envoyé par muktaditi Voir le message
dans ma table, la colonne primary , (l'id) est nommée reference
dans le formulaire
$data['id_produit'] correspond-t'il à la valeur de 'reference' (de l'id) ??
si 'reference' est bien en auto-increment (et donc UNIQUE), je dirais OUI.
Mais pour être sûr de te donner la bonne réponse, peux-tu montrer la STRUCTURE de la table ?

Le principe de base est d'identifier chaque enregistrement ("ligne" de la table) avec un IDENTIFIANT UNIQUE.
Et d'utiliser/transmettre cet identifiant à chaque fois qu'on à besoin de cette ligne en particulier.
... c'est tout l'intérêt d'une clé primaire en auto-incrément ! ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2011, 13h44   #9
Invité de passage
 
Femme Murielle
Étudiant
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Murielle

Informations professionnelles :
Activité : Étudiant
Secteur : Arts - Culture

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 4
Points : 4
stucture de ma table :

[IMG] Uploaded with ImageShack.us[/IMG]

ok

if ($_POST['prixProp']) && isset ($_POST['idProduit'])){

veut bien dire:
si (le champ prixProp [dont la valeur=$data['prix'] donnée par l'utilisateur] est renseigné )
et si (le champ caché idProduit [dont la valeur=$data['id_produit'] = au numéro de référence] donné par la base est renseigné,

??
muktaditi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2011, 14h02   #10
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
En fait, tu peux modifier en mettant :
Code :
1
2
3
<?php
if (!empty($_POST['prixProp']) && !empty($_POST['idProduit'])){
?>
C'est mieux.
Il s'agit surtout de TESTER si les données nécessaires ont bien été remplies.
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2011, 15h56   #11
Invité de passage
 
Femme Murielle
Étudiant
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Murielle

Informations professionnelles :
Activité : Étudiant
Secteur : Arts - Culture

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 4
Points : 4
ok..!

(ça me donne une façon de plus de déclarer mon argument... je vais me faire une fiche... j'applique pour l'instant si tu me dis que c'est mieux )

bon.. donc je ne me trompe pas si je rajoute si ok est cliqué ??
Code :
1
2
3
<?php
if (isset ($_POST['ok']) && (!empty($_POST['prixProp']) && (!empty($_POST['idProduit'])){
?>
ensuite :
$idProduit = mysql_real_escape_string($_POST['idProduit']);
c'est bien:
on définit que $idProduit égal la valeur (que l'on protège)contenue dans le champ caché idProduit et donc égal la référence du produit ???

si oui,
serrait-il juste que dans mon formulaire je mette
<input type="hidden" name="idProduit" value="'.$data['reference'].'" />
et
dans ma requête qui modifie la base:
$sql = "UPDATE armoirea SET ".
" prix = '".$prixProp."' ".
" WHERE reference= '".$idProduit."';"; ???
muktaditi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2011, 16h18   #12
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Tant qu'à faire, autant rendre les noms cohérents (remplacer "idProduit" par "reference" !) :

Code :
<input type="hidden" name="reference" value="'.$data['reference'].'" />
Code :
1
2
3
<?php
if (isset ($_POST['ok']) && !empty($_POST['prixProp']) && !empty($_POST['reference'])){
?>
Code :
$reference = mysql_real_escape_string($_POST['reference']);
Code :
1
2
3
$sql = "UPDATE armoirea SET ".
" prix = '".$prixProp."' ".
" WHERE reference= '".$reference."';";
Un autre conseil : "sors" le code html du code php !
c-a-d au lieu de :
Code :
1
2
3
4
5
6
7
8
9
<?php
// ...
		echo '<form name="votre_prix" method="post" action="armoire_a.php">
				<input type="hidden" name="reference" value="'.$data['id_produit'].'" />
				<input type="text" name="prixProp" value="'.$data['prix'].'" />
				<input type="submit" value="proposer un prix" name="prop" />
		</form>';
// ...
?>
écris :
Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
// ... (code php)
?>
		<form name="votre_prix" method="post" action="armoire_a.php">
			<input type="hidden" name="reference" value="<?php echo $data['id_produit']; ?>" />
			<input type="text" name="prixProp" value="<?php echo $data['prix']; ?>" />
			<input type="submit" value="proposer un prix" name="prop" />
		</form>
<?php
// ... (code php)
?>
1/ c'est plus clair
2/ ca évite à php d'interpréter le code html avant de l'afficher
3/ ca évite les erreurs de " et ' ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2011, 16h59   #13
Invité de passage
 
Femme Murielle
Étudiant
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Murielle

Informations professionnelles :
Activité : Étudiant
Secteur : Arts - Culture

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 4
Points : 4
oki...oui, tant qu'à faire...mais ça ne me perturbait que pour l' "id_truc...",
mon script ne fonctionne pas et cherche pourquoi...ça aurait pu être une syntaxe à utiliser ....
tel quel , j'ai :
La connexion avec le serveur a été réinitialisée pendant le chargement de la page.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
 
<?php 
include ("fonctions.inc.php");
connectMaBase();
 
if (isset ($_POST['ok']) && !empty($_POST['prixProp']) && !empty($_POST['reference'])){
 
	$reference = mysql_real_escape_string($_POST['reference']);
	$prixProp = mysql_real_escape_string($_POST['prixProp']);
 
	$sql = "UPDATE armoirea SET ".
		" prix = '".$prixProp."' ".
		" WHERE reference= '".$reference."';";
 
	mysql_query($sql) or die('Erreur SQL :<br />'.$sql.'<br />'.mysql_error());
 
	//  on prépare la requête pour récupérer les données
	$sql = 'SELECT * FROM armoirea';
	//On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas (or die)  
    $req = mysql_query($sql1) or die('Erreur SQL !<br />'.$sql1.'<br />'.mysql_error()); 
	//boucle
	while ($data = mysql_fetch_array($req)) {
	//on recupère la valeur $prixmin
 		$prixmin=$data['prixmin'];
		echo $prixmin.'</br>';
   //on affiche les résultats 
		echo $data['designation'].' '.$data['description'].' Vous me proposez '.$data['prix'].' € pour cet article, </br>';
}
 
}
else 
 
?>
{		
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>L'ARMOIRE DES GRANDS</title>
</head>
 
    <body>
        <?php
 
 
        // On prépare la requête 
         $sql = 'SELECT * FROM armoirea';
 
        // On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas (or die)  
         $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
 
        //on organise $req en tableau associatif  $data['champ']
        //en scannant chaque enregistrement récupéré
        //on en profite pour gérer l'affichage
 
        //titre de la page avant la boucle
        echo'<h2>L\'ARMOIRE DES GRANDS:</h2>';
 
        //boucle
        while ($data = mysql_fetch_array($req)) { 
            // on affiche les résultats 
            echo '<table border="1">
					<tr> 
						<td> ici se trouvera l\'image </td>
						<td><strong>'.$data['designation'].'</strong> </td>
						<td>' .$data['description'].'</td>
						<td>
							<form method="post" action="contenu.php">
							                    insère un champs caché dont la valeur = la reférence du produit 
							Proposez un prix : <input type="hidden" name="idProduit" value="'.$data['id_produit'].'" />
							<input type="text" name="prixProp" value="'.$data['prixProp'].'" />
							<input type="submit" name="ok" value="ok"/>
							</form>
					</tr>
				</table>';
        }  
        //On libère la mémoire mobilisée pour cette requête dans sql
        //$data de PHP lui est toujours accessible !
        mysql_free_result ($req);  
 
        //On ferme sql
        mysql_close (); 
 
        ?>
		}
	</body>
</html>
muktaditi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2011, 18h26   #14
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
ligne 18 :
Code :
	$sql1 = "SELECT * FROM armoirea;";
Je dirais même (pour cet article !) :
Code :
	$sql1 = "SELECT * FROM armoirea WHERE reference= '".$reference."';";
Au fait, on n'écrit pas </br> ni <br> mais : <br /> ... (lignes 25 et 27)
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2011, 18h35   #15
Invité de passage
 
Femme Murielle
Étudiant
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Murielle

Informations professionnelles :
Activité : Étudiant
Secteur : Arts - Culture

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 4
Points : 4
Hum !!!
je dois avoir un autre soucis,
j'ai toujours erreur de chargement, et j'ai une fenêtre windows qui me dit que apache http Server a cessé de fonctionner....
muktaditi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2011, 09h43   #16
Invité de passage
 
Femme Murielle
Étudiant
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Murielle

Informations professionnelles :
Activité : Étudiant
Secteur : Arts - Culture

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 4
Points : 4
ok... j'ai réglé son compte a apache

alors avec ce code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php 
include ("fonctions.inc.php");
connectMaBase();
 
if (isset ($_POST['ok']) && !empty($_POST['prixProp']) && !empty($_POST['reference'])){
 
	$reference = mysql_real_escape_string($_POST['reference']);
	$prix = mysql_real_escape_string($_POST['prix']);
 
	$sql = "UPDATE armoirea SET ".
		" prix = '".$prix."' ".
		" WHERE reference= '".$reference."';";
 
	mysql_query($sql) or die('Erreur SQL :<br />'.$sql.'<br />'.mysql_error());
 
	//  on prépare la requête pour récupérer les données
	$sql1 = "SELECT * FROM armoirea WHERE reference= '".$reference."';";
	//On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas (or die)  
    $req = mysql_query($sql1) or die('Erreur SQL !<br />'.$sql1.'<br />'.mysql_error()); 
	//boucle
	while ($data = mysql_fetch_array($req)) {
	//on recupère la valeur $prixmin
 		$prixmin=$data['prixmin'];
		echo $prixmin.'<br/>';
   //on affiche les résultats 
		echo $data['designation'].' '.$data['description'].' Vous me proposez '.$data['prix'].' € pour cet article, <br/>';
	}
}
else 
{
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>L'ARMOIRE DES GRANDS</title>
</head>
 
    <body>
        <?php                    
        // On prépare la requête 
         $sql2 = 'SELECT * FROM armoirea';
 
        // On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas (or die)  
         $req = mysql_query($sql2) or die('Erreur SQL !<br />'.$sql2.'<br />'.mysql_error()); 
 
        //on organise $req en tableau associatif  $data['champ']
        //en scannant chaque enregistrement récupéré
        //on en profite pour gérer l'affichage
 
        //titre de la page avant la boucle
        echo'<h2>L\'ARMOIRE DES GRANDS:</h2>';
 
        //boucle
        while ($data = mysql_fetch_array($req)) { 
            // on affiche les résultats 
            echo '<table border="1">
					<tr> 
						<td> ici se trouvera l\'image </td>
						<td><strong>'.$data['designation'].'</strong> </td>
						<td>' .$data['description'].'</td>'
		?>				
						<td>
							<form method="post" action="contenu.php">
							Proposez un prix : <input type="hidden" name="reference" value="'.$data['reference'].'" />
							<input type="text" name="prix" value="'.$data['prix'].'" />
							<input type="submit" name="ok" value="ok"/>
							</form>
						</td>
					</tr>
				</table>
		<?php
        }  
        //On libère la mémoire mobilisée pour cette requête dans sql
        //$data de PHP lui est toujours accessible !
        mysql_free_result ($req);  
 
        //On ferme sql
        mysql_close (); 
		}
        ?>
 
	</body>
 
</html>
j'ai
'.$data['prix'].' (tel quel) qui s'affiche dans la zone ou l'utilisateur propose son prix.....
je crois comprendre que c'est un conflit html et php, mais du coup je vois pas...
muktaditi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2011, 13h44   #17
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
J'ai corrigé ton code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php 
include ("fonctions.inc.php");
connectMaBase(); // connexion a la BdD
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>L'ARMOIRE DES GRANDS</title>
</head>
 
<body>
	<h2>L'ARMOIRE DES GRANDS:</h2>
<?php
// --------------------------- 
// TRAITEMENT du formulaire si renseigné
if (isset ($_POST['ok']) && !empty($_POST['prixProp']) && !empty($_POST['reference'])){
	$reference = mysql_real_escape_string($_POST['reference']);
	$prix = mysql_real_escape_string($_POST['prix']);
 
	$sql = "UPDATE armoirea SET ".
		" prix = '".$prix."' ".
		" WHERE reference = '".$reference."';";
	mysql_query($sql) or die('Erreur SQL :<br />'.$sql.'<br />'.mysql_error());
	// traitement fini : on vide le POST
	unset($_POST);
 
	//  on prépare la requête pour récupérer (et ré-afficher) les données
	$sql1 = "SELECT * FROM armoirea WHERE reference = '".$reference."';";
	// On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas (or die)  
	$req = mysql_query($sql1) or die('Erreur SQL !<br />'.$sql1.'<br />'.mysql_error()); 
	//boucle
	while ($data = mysql_fetch_array($req)) {
	// on recupère la valeur $prixmin
		$prixmin = $data['prixmin'];
		echo $prixmin.'<br />';
	// on affiche les résultats 
		echo $data['designation'].' '.$data['description'].' Vous me proposez '.$data['prix'].' € pour cet article, <br/>';
	}
// --------------------------- 
// sinon AFFICHAGE du formulaire
} else {
?>
 
<?php   // la requête 
	$sql2 = "SELECT * FROM armoirea;";
	$req = mysql_query($sql2) or die('Erreur SQL !<br />'.$sql2.'<br />'.mysql_error()); 
?>
	<table border="1">
<?php	// boucle : on affiche les résultats
		while ($data = mysql_fetch_array($req)) 
		{ 
?>
		<tr> 
			<td> ici se trouvera l'image </td>
			<td><strong><?php echo $data['designation']; ?></strong></td>
			<td><?php echo $data['description']; ?></td>
			<td>
				<form method="post" action="contenu.php">
					Proposez un prix : <input type="hidden" name="reference" value="<?php echo $data['reference']; ?>" />
					<input type="text" name="prix" value="<?php echo $data['prix']; ?>" />
					<input type="submit" name="ok" value="ok"/>
				</form>
			</td>
		</tr>
<?php	}  // fin while 
?>
	</table>
<?php
	mysql_free_result ($req); // On libère la mémoire mobilisée pour cette requête dans sql
	mysql_close (); //On ferme la connexion
} // fin else
// --------------------------- 
?>
 
</body>
</html>
Compare-le au tien, ok ?
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2011, 14h20   #18
Invité de passage
 
Femme Murielle
Étudiant
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Murielle

Informations professionnelles :
Activité : Étudiant
Secteur : Arts - Culture

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 4
Points : 4
ok !
je vois comment tu découpes l'html et le php...
je note que tu as replacé ma condition entre les balises html...

mais tel quel le résultat attendu n'est pas bon...

a l'affichage de la page, pas de soucis..
(dans la case ou l'on entre la valeur j'ai 0.00)
j'entre une valeur et clic ok,
et j’obtiens le même affichage avec '.$data['prix'].' à la place des 0,00

ce que je souhaite faire c'est donc afficher a l'arrivée sur la page le tableau avec le formulaire,
mais qu'au clic sur ok, le tableau s'efface, pour laisser place a l'affichage contenu dans la condition...


<input type="hidden" name="reference" value="<?php echo $data['reference']; ?>" />

pourquoi echo ????
muktaditi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 07h27   #19
Invité de passage
 
Femme Murielle
Étudiant
Inscription : juillet 2011
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Murielle

Informations professionnelles :
Activité : Étudiant
Secteur : Arts - Culture

Informations forums :
Inscription : juillet 2011
Messages : 33
Points : 4
Points : 4
ok... j'ai trouvé... merci....
muktaditi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h13.


 
 
 
 
Partenaires

Hébergement Web