if(isset($_POST[$data['nom']])) = POSSIBLE ?

Petit nouveau ! | 2 Messages

04 avr. 2011, 22:06

Bonjour

Est-il possible de placer $data['nom'] de ma WHILE dans mon IF ?
Sinon, comment puis-je faire un équivalent ?

Merci à tous

Delphyy



...
$sql = "SELECT * FROM produits";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

    while ($data = mysql_fetch_array($req))
    {
        if(isset($_POST[$data['nom']]))
...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

04 avr. 2011, 22:21

Oui, c'est possible :)

(ça n'allait pas plus vite d'essayer ? ;-))
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 2 Messages

04 avr. 2011, 22:28

:)
Je pose la question, car je n'obtiens pas du tout le résultat escompter. J'avais un petit doute de syntaxe.

Même après avoir sélectionné une valeur dans un des sélecteurs le résultat est systématiquement « aucune quantité »

PAGE HTML :
            <?php
            $sql = "SELECT * FROM produits";
            $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

            while ($data = mysql_fetch_array($req))
            {
            echo '
            <div class="produit">
                <h1>'.$data['nom'].'</h1>';
                echo '<h2>'.$data['localisation'].'</h2>';
                echo '<h3>'.$data['description'].'</h3>';
                echo '<img src="pictures/'.$data['img'].'.jpg" alt="" title="" class="img_produit"></img>';
                echo '
                Bourriche de : 50
                <div class="form">
                    Taille N°1 :
                    <select name="'.$data['nom'].'">
                        <option value="0" selected>0</option>
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                        <option value="4">4</option>
                        <option value="5">5</option>
                        <option value="6">6</option>
                        <option value="7">7</option>
                        <option value="8">8</option>
                        <option value="9">9</option>
                        <option value="10">10</option>
                    </select><br />
                    Taille N°2 :
                    <select name="'.$data['nom'].'">
                        <option value="0" selected>0</option>
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                        <option value="4">4</option>
                        <option value="5">5</option>
                        <option value="6">6</option>
                        <option value="7">7</option>
                        <option value="8">8</option>
                        <option value="9">9</option>
                        <option value="10">10</option>
                    </select><br />
                    Taille N°3 :
                    <select name="'.$data['nom'].'">
                        <option value="0" selected>0</option>
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                        <option value="4">4</option>
                        <option value="5">5</option>
                        <option value="6">6</option>
                        <option value="7">7</option>
                        <option value="8">8</option>
                        <option value="9">9</option>
                        <option value="10">10</option>
                    </select><br />
                    Taille N°4 :
                    <select name="'.$data['nom'].'">
                        <option value="0" selected>0</option>
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                        <option value="4">4</option>
                        <option value="5">5</option>
                        <option value="6">6</option>
                        <option value="7">7</option>
                        <option value="8">8</option>
                        <option value="9">9</option>
                        <option value="10">10</option>
                    </select><br />
                </div>
PAGE PHP
...
$sql = "SELECT * FROM produits";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

    while ($data = mysql_fetch_array($req))
    {
        if(isset($_POST[$data['nom']]))
            {
            echo 'oui!!!';
            }
        else 
            {
            echo 'aucune quantitée';
            }
    }
?>

Mammouth du PHP | 672 Messages

05 avr. 2011, 09:05

Premier reflexe à avoir pour débugger du php :
Afficher les variables.

=>
print_r ( $_POST);
$sql = "SELECT * FROM produits";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_array($req)) {
   print_r ($data);
   if(isset($_POST[$data['nom']])) {
      echo 'oui!!!';
   }
   else {
      echo 'aucune quantitée';
   }
}