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

PHP & Base de données Discussion :

Affecter une variable php avec une valeur MySqli


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 257
    Par défaut Affecter une variable php avec une valeur MySqli
    Bonjour, problème certainement très simple pour les initiés, dont je ne fais évidemment pas partie.
    Mon MySQLi
    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
     
    $req_pre = mysqli_query($bdd, 'SELECT * FROM T_Produits  WHERE T_Produits.NCoul = 1');
     
    $nb= mysqli_num_rows($req_pre);
     
    echo 'Il y a ' . $nb . ' choix:';
     echo '<td>'.'<br />';
    echo '<td>'.'<br />';
     
    while($donnees = mysqli_fetch_assoc($req_pre))
     
    {
     
     echo $donnees['Nom'] . ", " . $donnees['Appell'];
     echo '<td>'.'<br />';
    <td><input type='text' name='membre_nom' value=$donnees['Nom']><p></td></tr>";
    }
    La dernière ligne ne fonctionne pas, j'ai beau cherché, impossible de trouver la syntaxe pour afficher cette input ou affecter cette valeur: $donnees['Nom'] à une variable.

    Merci de vos réponses éclairées et éclairantes.

  2. #2
    Membre émérite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 381
    Par défaut
    Bonjour,

    Ligne 16 : ce n'est pas une instruction PHP mais du HTML et il manquait un guillemet quelque part.

    Eassaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<td><input type='text' name='membre_nom' value=".$donnees['Nom']."><p></td></tr>";

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Attention, il manque les quotes autour de la valeur de value :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<td><input type="text" name="membre_nom" value="'.$donnees['Nom'].'"><p></td></tr>';
    Au passage, qu'est-ce que tu essayes de faire avec ce code echo '<td>'.'<br />'; ? Il manque le </td> correspondant
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 257
    Par défaut Merci pour tout
    Pour répondre à Celira, c'était juste pour être précis dans l'énoncé de ma question.

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 257
    Par défaut Désolé d'y revenir...
    Bonjour, mon ignorance et mon manque de sagacité ne m'ont pas permis de trouver la syntaxe pour ce qui était ma question première, affecter une valeur MySQLi à une variable.

    Erreur obtenue: Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)

    Comment affecter une valeur MySQLi issue d'une boucle réutilisable à des variables qui seraient indexées ( par exemple: $Rnom1, $Rnom2, $Rnom3 ...)?
    Ici, les boutons Radio me permettraient d'afficher des données relatives au choix.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $req_pre = mysqli_query($bdd, 'SELECT * FROM T_Produits  WHERE T_Produits.NCoul = 1');
     
    $nb= mysqli_num_rows($req_pre);
     
    while($donnees = mysqli_fetch_assoc($req_pre))
     
    {
     $Rnom1='. $donnees['Nom'].'
    
    echo '<td><input type="radio" name="Rouge" value="oui" id=$Rnom1 checked="checked" /><label for=$Rnom1>'.$donnees['Nom'].' </label><p></td></tr>';
    }
    Et pour ne pas vous embêter à chaque ligne de développement, existe-t-il un tuto sur les syntaxes qui sont si nombreuses et complexes pour un pauvre vieux développeur issu du monde VB et suivants.
    Merci de vos réponses éclairées et éclairantes.

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Tu peux utiliser des variables dynamiques pour incrémenter le numéro ( Comment appeler une variable dont le nom est stocké dans une autre variable?)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $i = 1;
    while($donnees = mysqli_fetch_assoc($req_pre))
    {
     ${'Rnom'.$i} = $donnees['Nom'];
    }
    Mais ce n'est pas pratique à utiliser.

    Je te conseille plutôt d'utiliser un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $noms = [];
    while($donnees = mysqli_fetch_assoc($req_pre))
    {
        $noms[] = $donnees['Nom'];
    }
    que tu pourras parcourir avec un foreach par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($noms as $nom) {
        echo 'Nom : '.$nom.'<br>';
    }
    On a plein de tutos : Les meilleurs cours et tutoriels pour apprendre PHP notamment Le tutoriel pour grands débutants (malheureusement obsolète sur la partie base de données) et Comprendre PDO pour les nouvelles API d'interrogation de base de données
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    1) il faut indenter ton code pour y voir clair. Après ce topo, je te rends ton code indenté et corrigé.

    2) Le HTML est le langage de simple affichage que comprennent tous les navigateurs.
    Toute balise ouverte doit être fermée sous cette forme :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <body><p><truc><machin>blablablabla</machin></truc></p><p><truc><machin>blobloblo</machin></truc></p></body>

    3) Avec un code indenté, un humain voit tout de suite les erreurs :

    Code HTML : 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
    <body>
    	<p>
    		<truc>
    			<machin>
    				blablabla
    			</machin>
    		</truc>
    	</p>
    	<p>
    		<truc>
    			<machin>
    				blobloblo
    			</machin>
    		</truc>
    	</p>
    </body>

    4) Le PHP est un langage de script qui sert à programmer dans le HTML des variables dynamiques.

    Code MIXTE : 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
    <body>
    	<p>
    		<truc>
    			<machin>
    				<?php echo $text1; ?>
    			</machin>
    		</truc>
    	</p>
    	<p>
    		<truc>
    			<machin>
    				<?php echo $text2; ?>
    			</machin>
    		</truc>
    	</p>
    </body>

    5) pour nourrir le PHP de données issues des bases de données et pas de l'imagination du développeur, on utilise SQL...
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  8. #8
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    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
    <?php 
    $req_pre = mysqli_query($bdd, 'SELECT * FROM T_Produits  WHERE T_Produits.NCoul = 1');
    $nb= mysqli_num_rows($req_pre);
     
    echo '<p>Il y a ' . $nb . ' choix : </p>';
    //on va récupérer tes données de la base dans un tableau PHP
    $data=array();
    while($row = mysqli_fetch_assoc($req_pre)){
       $data[]=$row;
    }
    //on vérifie que ça marche
    echo '<pre>';
    print_r($data);
    echo '</pre>';
     
    //avant d'aller plus loin, montre nous ce que donne $data qui est ton tableau PHP alimenté par ta base de données...
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  9. #9
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 257
    Par défaut Résultat...
    Nom : Tableau_Rouges.gif
Affichages : 283
Taille : 8,9 Ko
    Merci de vous occuper de mon problème, j'en profite pour vous montrer l'affichage désiré, pour conforter ou infirmer mon choix de développement.
    Nom : Affichage.gif
Affichages : 304
Taille : 20,0 Ko

    <div id="bandeau">Bordereau de commande</div>
    <div id="menul">Rouge
    <p> <input type="radio" name="Rouge" value="oui" id="R1" checked="checked" /><label for="R1">Coline (3,50 €/lit.) </label></p>
    <p> <input type="radio" name="Rouge" value="non" id="R2" /> <label for="R2">Brisant (4,20 €/lit.)</label> </p>
    <form method ="post" action = "saisie.php" oninput="total.value = poches.valueAsNumber * 52.50">
    <fieldset>



    <legend>ROUGE</legend>



    <input type="text" id="vin_name" name="vin_name" placeholder="Coline" required>

    <label>Appellation :</label>
    <input type="text" id="Appell" name="Appell" required>

    <label>Cépages :</label>
    <input type="text" id="Cep" name="Cep" required>

    <label>Millésime - Degrés :</label>
    <input type="text" id="Mil-Deg" name="Mil-Deg" required>

    <label>Cartons de 3 poches :</label>
    <input type="number" id="poches" name="poches" value="0" min="0" max="6" step="1" required>

    <label>Total :</label>
    <output id="total" name="total"></output> €
    <br><br>

    <input type="submit" value="Commander" />
    </fieldset>
    </form>


    </div>
    Je vous informe de la finalisation du projet que je prendrai (j'espère) en charge.
    La commande peut comporter plusieurs choix mais dans une seule couleur. Une fois celle-ci finalisée, envoie de mails (client et fournisseur). Je ne désire pas enregistrer directement dans la base.

    P.S.: Pouvez-vous, s'il vous plaît m'indiquer comment afficher dans mon éditeur PHP CodeLobster les caractères accentués ( disparus depuis une mise à jour! ). Merci.

  10. #10
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Un problème à la fois.
    Sur le fond de ta question donc, tu devras t'inspirer de ce bout de code ET LE COMPRENDRE donc pour intégrer tous les labels et les input dans la boucle :

    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
     
    //maintenant que tu es sûre que $data fonctionne, on affiche les inputs alimentés par $data
    $i=0;//on ne peut pas avoir 2 names ou 2 id pareils dans un formulaire, c'est impossible
    //alors on va les numéroter dynamiquement
    if(sizeof($data)>0){
    	foreach($data as $row){
    		echo '<label>Cépages :</label>
    		<input type="text" id="Cep'._$i.'" name="Cep'._$i.'" required value="'.$row['Cep'].'" />';
     
    		echo '<label>Millésime Degrés :</label>
    		<input type="text" id="Mil-Deg'._$i.'" name="Mil-Deg'._$i.'" required value="'.$row['Mil-Deg'].'" />';
     
    		//etc. etc.
     
    		$i++;
    	}
    }
    edit fin d'auto-correction à 13H lol
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  11. #11
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 257
    Par défaut Je n'arrive pas à débugger
    Re-bonjour, il y a une erreur _ Parse error: syntax error, unexpected '$i' (T_VARIABLE), expecting ',' or ';' _ sur chaque ligne

    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
     
    $req_pre = mysqli_query($bdd, 'SELECT * FROM T_Produits  WHERE T_Produits.NCoul = 1');
     
    while($row = mysqli_fetch_assoc($req_pre)){
       $data[]=$row;
    }
     
    if(sizeof($data)>0){
    	foreach($data as $row){
    		echo '<label>Cépages :</label><input type="text" id="Cep'._$i.'" name="Cep'._$i.'" required value="'.$row['Cepages'].'" />';
     
     
    		echo '<label>Millésime Degrés :</label><input type="text" id="Mil-Deg'._$i.'" name="Mil-Deg'._$i.'" required value="'.$row['Milles'].'" />';
     
    		//etc. etc.
     
    		$i++;
    	}
    }
    Merci.

    P.S.: J'ai réussi à revoir les caractères accentués.

  12. #12
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Tu as fais sauter le $i=0; avant la boucle !
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  13. #13
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 257
    Par défaut Tu avais raison, mais ...
    La lecture de ton exemple avait ensevelie $i=0; Mais je n'arrive toujours pas à debugger, j'ai la même erreur, quelque soit l'endroit où je le positionne.

    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
     
    $req_pre = mysqli_query($bdd, 'SELECT * FROM T_Produits  WHERE T_Produits.NCoul = 1');
     
    while($row = mysqli_fetch_assoc($req_pre)){
       $data[]=$row;
    }
     
    $i=0;
    if(sizeof($data)>0){
     
    	foreach($data as $row){
     
    		echo '<label>Cépages :</label><input type="text" id="Cep'._$i.'" name="Cep'._$i.'" required value="'.$row['Cepages'].'" />';
     
     
    		echo '<label>Millésime Degrés :</label><input type="text" id="Mil-Deg'._$i.'" name="Mil-Deg'._$i.'" required value="'.$row['Milles'].'" />';
     
     
     $i++;
     
    	}
    }

  14. #14
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Tu as fait sauter $data=array(); !

    Sinon, j'ai débuggé mon code : le _ était mal placé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $i=0;
    if(sizeof($data)>0){
    	foreach($data as $row){
    		echo '<label>Cépages :</label><input type="text" id="Cep_'.$i.'" name="Cep_'.$i.'" required value="'.$row['Cepages'].'" />';
    		echo '<label>Millésime Degrés :</label><input type="text" id="Mil-Deg_'.$i.'" name="Mil-Deg_'.$i.'" required value="'.$row['Milles'].'" />';
    		$i++;
    	}
    }
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  15. #15
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 257
    Par défaut Super, et encore merci. Mais comment l'intégrer dans mon HTML
    Super, et encore merci.

    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
     
     
    $req_pre = mysqli_query($bdd, 'SELECT * FROM T_Produits  WHERE T_Produits.NCoul = 1');
    $data=array();
    while($row = mysqli_fetch_assoc($req_pre)){
       $data[]=$row;
    }
     
    $i=0;
    if(sizeof($data)>0){
    	foreach($data as $row){
    		echo '<label>Nom :</label>
    		<input type="text" id="Nom_'.$i.'" name="Nom_'.$i.'" required value="'.$row['Nom'].'" />';
    		echo '<label>Appellation :</label>
    		<input type="text" id="Appell_'.$i.'" name="Appell_'.$i.'" required value="'.$row['Appell'].'" />';
    		echo '<label>Cépages :</label>
    		<input type="text" id="Cep_'.$i.'" name="Cep_'.$i.'" required value="'.$row['Cepages'].'" />';
    		echo '<label>Millésime :</label>
    		<input type="text" id="Milles_'.$i.'" name="Milles_'.$i.'" required value="'.$row['Milles'].'" />';
    		echo '<label>Degrés :</label>
    		<input type="text" id="Deg_'.$i.'" name="Deg_'.$i.'" required value="'.$row['Deg'].'" />';
    		$i++;
    	}

    Mais comment l'intégrer dans mon HTML, ou plutôt récupérer et parser les inputs du HTML afin d'avoir une présentation acceptable, et de faire agir les boutons radio afin d'afficher le vin choisi.

    Code html : 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
     
    </head>
    <body> 
     
     
    <div id="menul">Rouge
    	<p>  <input type="radio" name="Rouge" value="oui" id="R1" checked="checked" /><label for="R1">Coline (3,50 €/lit.) </label></p>
    	<p> <input type="radio" name="Rouge" value="non" id="R2" /> <label for="R2">Brisant (4,20 €/lit.)</label> </p>
    	<form method ="post" action = "saisie.php" oninput="total.value = poches.valueAsNumber * 52.50">
    	  <fieldset>
     
     
     
    	  <legend>ROUGE</legend>
     
     
     
    	  <input type="text" id="vin_name" name="vin_name" placeholder="Coline" required>
     
    	  <label>Appellation :</label>
    	  <input type="text" id="Appell" name="Appell" required>
     
    	  <label>Cépages :</label>
    	  <input type="text" id="Cep" name="Cep" required>
     
    	  <label>Millésime - Degrés :</label>
    	  <input type="text" id="Mil-Deg" name="Mil-Deg" required>
     
    	  <label>Cartons de 3 poches :</label>
    	  <input type="number" id="poches" name="poches" value="0" min="0" max="6" step="1" required>
     
    	  <label>Total :</label>
    	  <output id="total" name="total"></output><br><br>
     
    	  <input type="submit" value="Commander" /> 
    	  </fieldset>
    	</form>
    </div>

    Merci encore de m'accompagner.

  16. #16
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Alors, d'abord, copie-colle le HTML avant et après ta boucle bien sûr...
    Pour avoir une page HTML complète !

    edit : bon je complète pour les boutons radio, dans ta boucle forcément, ça donnera ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<p><input type="radio" name="Nom_'.$i.'" id="Nom_'.$i.'" '.($row["Nom"]=="Coline"?"checked":NULL).' /><label for="Nom_'.$i.'">Coline (3,50 €/lit.) </label></p>';
    Cette partie est particulièrement peu intuitive au début :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $row["Nom"]=="Coline"?"checked":NULL
    Ca s'appelle une condition ternaire, et ça signifie si $row["Nom"]=="Coline" alors affiche "checked" sinon "ne fait rien"...
    Le alors, c'est le ?, le sinon, c'est le :
    Il nous fallait une condition qui tienne sur une ligne pour simplifier la syntaxe, mais du coup, c'est une syntaxe très ramassée que les débutants n'aiment guère.
    A toi de finir tous tes boutons radio.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  17. #17
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 257
    Par défaut Ça avance drôlement!
    Ça marche! Super! Mais, le label du bouton radio est fixe sur Coline (3,50 €/lit.). Il faudrait qu'il fluctue suivant la boucle ( puis Brisant (4,20 €/lit.), par exemple.

    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
     
    $req_pre = mysqli_query($bdd, 'SELECT * FROM T_Produits  WHERE T_Produits.NCoul = 1');
    $data=array();
    while($row = mysqli_fetch_assoc($req_pre)){
       $data[]=$row;
    }
     
    $i=0;
    if(sizeof($data)>0){
    	foreach($data as $row){
     
    		echo '<p><input type="radio" name="Nom_'.$i.'" id="Nom_'.$i.'" '.($row["Nom"]=="Coline"?"checked":NULL).' /><label for="Nom_'.$i.'">Coline (3,50 €/lit.)</label></p>';
     
    		echo '<label>Nom :</label>
    		<input type="text" id="Nom_'.$i.'" name="Nom_'.$i.'" required value="'.$row['Nom'].'" />';
    		echo '<label>Appellation :</label>
    		<input type="text" id="Appell_'.$i.'" name="Appell_'.$i.'" required value="'.$row['Appell'].'" />';
    		echo '<label>Cépages :</label>
    		<input type="text" id="Cep_'.$i.'" name="Cep_'.$i.'" required value="'.$row['Cepages'].'" />';
    		echo '<label>Millésime :</label>
    		<input type="text" id="Milles_'.$i.'" name="Milles_'.$i.'" required value="'.$row['Milles'].'" />';
    		echo '<label>Degrés :</label>
    		<input type="text" id="Deg_'.$i.'" name="Deg_'.$i.'" required value="'.$row['Deg'].'" />';
     
    		$i++;
    	}
    }
    Dans une autre approche, sans automatiquement revenir au début, je pensais peut-être instancier des variables PHP (au lieu des input en PHP) que je récupérerai dans mon form HTML. N'est-ce pas envisageable?

    <input type="text" id="vin_name" name="vin_name" placeholder= $Nom_1 required>
    $Nom_1 étant la variable Nom du vin 1

    Bien entendu, la syntaxe me fait toujours défaut dans cet imbroglio de langages. Mais, j'ai l'impression de progresser, et ici, indéniablement grâce à toi.

    Merci de ne pas t'impatienter.

  18. #18
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Tu veux dire quoi ? Est ce que tu veux dire "écrire d'avantage de HTML direct" et coller des balises partout dès que tu as du PHP ?
    bien sûr que tu peux faire ça... C'est tout à fait bien.
    Moi, je fais comme je pense le plus simple...
    Je te laisse commencer. Mais dans ce cas-là, ne pars pas de ton pseudo-code, mais du mien, qui est un code qui tourne !
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  19. #19
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 257
    Par défaut Tout à fait d'accord avec toi.
    Quand j'avais écrit mon précédent post, je n'avais pas affiché l'intégralité de ton conseil. Je viens de modifier le précédent post, et bien sûr, je continue sur ton chemin, je serais bien en mal d'afficher un quelconque avis ou intuition dans ce domaine.

    J'espère ne pas avoir trop usé de ta bonne volonté, et qu'on puisse aller jusqu'au bout, c'est important pour ma fille et moi.

    Juste en rappel de ma modification du post précédent:

    le label du bouton radio est fixe sur Coline (3,50 €/lit.). Il faudrait qu'il fluctue suivant la boucle ( puis Brisant (4,20 €/lit.), par exemple.

    Merci de ta patience.

  20. #20
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    c'est important pour ma fille et moi.
    Détends-toi ! si je ne suis pas dispo, il y en aura plein d'autres. Et puis on réfléchit mal quand on a trop de pression.

    Montre ton code ? tu l'as bien mis dans la boucle, le bouton radio ?
    Je te rappelle qu'un bouton radio à un seul name, et 2 lignes à chaque fois (coline ou brisant) donc dans ta boucle, il faut qu'on voit ça. C'est pas "colline" au fait ?
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/06/2009, 10h54
  2. Réponses: 1
    Dernier message: 20/04/2007, 09h12
  3. [PHP-JS] mettre une variable javascript dans une variable php
    Par Mounr dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/04/2007, 09h09
  4. [PHP-JS] une variable php dans une fonction javascript
    Par megapacman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/06/2006, 14h08
  5. [PHP-JS] une variable php dans une fonction javascript
    Par megapacman dans le forum Langage
    Réponses: 3
    Dernier message: 12/06/2006, 14h02

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