IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

une page contenu.php


Sujet :

Langage PHP

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ???

  2. #2
    Invité
    Invité(e)
    Par défaut
    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

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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)

  4. #4
    Invité
    Invité(e)
    Par défaut
    Je ne comprends pas ton problème, puisque le principe est dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
     	// connexion a la BdD
    	connectMaBase();
    ?>
    - en fin de document (1 seule fois)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
    	//On ferme sql
    	mysql_close (); 
    ?>

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  6. #6
    Invité
    Invité(e)
    Par défaut
    ok ok.
    C'est dans le(s) formulaire qu'il faut indiquer/transmettre l'IDENTIFIANT de l'article/produit concerné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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());
    }
    ?>
    Dernière modification par Invité ; 15/07/2011 à 11h01.

  7. #7
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    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

  8. #8
    Invité
    Invité(e)
    Par défaut
    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 ! ...

  9. #9
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    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é,

    ??

  10. #10
    Invité
    Invité(e)
    Par défaut
    En fait, tu peux modifier en mettant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  11. #11
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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."';"; ???

  12. #12
    Invité
    Invité(e)
    Par défaut
    Tant qu'à faire, autant rendre les noms cohérents (remplacer "idProduit" par "reference" !) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="reference" value="'.$data['reference'].'" />
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    if (isset ($_POST['ok']) && !empty($_POST['prixProp']) && !empty($_POST['reference'])){
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reference = mysql_real_escape_string($_POST['reference']);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ' ...

  13. #13
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  14. #14
    Invité
    Invité(e)
    Par défaut
    ligne 18 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$sql1 = "SELECT * FROM armoirea;";
    Je dirais même (pour cet article !) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$sql1 = "SELECT * FROM armoirea WHERE reference= '".$reference."';";
    Au fait, on n'écrit pas </br> ni <br> mais : <br /> ... (lignes 25 et 27)

  15. #15
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    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....

  16. #16
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    ok... j'ai réglé son compte a apache

    alors avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

  17. #17
    Invité
    Invité(e)
    Par défaut
    J'ai corrigé ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  18. #18
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    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 ????

  19. #19
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    ok... j'ai trouvé... merci....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Modifier un tableau sur une page en PHP
    Par leclone dans le forum Langage
    Réponses: 12
    Dernier message: 02/01/2007, 15h06
  2. activer une fonction d'une page contenue dans une popup.
    Par manutudescends dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/08/2006, 15h32
  3. [Configuration] Peut on mettre de l'asp dans une page en .php
    Par Alain15 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 31/07/2006, 13h23
  4. Réponses: 3
    Dernier message: 27/04/2006, 15h23
  5. Réponses: 2
    Dernier message: 12/02/2006, 19h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo