8768 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai un code qui m'affiche les valeurs de ma base de donnée.

En stock, sur commande ....

Le code en mysql :

<?php
$connexion = new PDO('mysql:host='.$VALEUR_hote.';port='.$VALEUR_port.';dbname='.$VALEUR_nom_bd, $VALEUR_user, $VALEUR_mot_de_passe);
	$connexion->exec("SET CHARACTER SET utf8"); 

	$req=$connexion->query('SELECT s FROM GROUP BY S'); 
?>

 <select name="s" id="s">Nouvelle état du stock :
          <?php
		  
            while($data = mysql_fetch_assoc($req))
			{ 
              echo "<option value=\"".$data['s']."\">".$data['s']."</option>";
		    }
		  ?>
          </select>


Le problème que je rencontre c'est que je suis entrain de passer en pdo, et que ça ne fonctionne plus.

Code en php 7. Fonctions MySQL (PDO_MYSQL) d'après php.net Là c'est un peu compliqué pour moi ...

Enregistrement, suppression, modification en pdo, j'y suis arrivé mais là je bloque.

Merci d'avance de vos retours.
Modifié par Tintin75 (24 Jan 2016 - 11:15)
Modérateur
Bonjour,

En PDO, la syntaxe "normale" change pour toutes les fonctions.

Ici la portion de code procédant au "fetch" des données devient :
while($data = $req->fetch_object())
{ 
    echo "<option value=\"".$data->s."\">".$data->s."</option>";
}


Amicalement,
Bonjour,

Merci encore pour ton aide. Si j'y arrive j'ai fini avec le pdo sur mon site.

J'ai en code :

<?php	  
	$connexion = new PDO('mysql:host='.$VALEUR_hote.';port='.$VALEUR_port.';dbname='.$VALEUR_nom_bd, $VALEUR_user, $VALEUR_mot_de_passe);
	$connexion->exec("SET CHARACTER SET utf8"); 

$req=$connexion->query('SELECT s FROM GROUP BY S'); 

?>
 <p>
          <select name="s" id="s">Nouvelle état du stock :
          <?php
           while($data = $req->fetch_object())
{ 
    echo "<option value=\"".$data->s."\">".$data->s."</option>";
}
		  ?>
          </select>
          </p>


J'ai pas de message d'erreur mais mon sélecteur est vide. aye !!!! Smiley bawling

Normalement, j'ai un sélecteur avec la liste de choix sur les états, en stock, sur commande .. Le sélecteur va choper les données dans la BDD via la colonne S.
Modifié par Tintin75 (24 Jan 2016 - 10:28)
Modérateur
Bonjour,

Bon, j'ai fini par trouver ce qu'il fallait pour tester.

Est-ce que ça, ça marche chez toi ?

$req = $connexion->prepare('SELECT s FROM GROUP BY S');
$req->execute();
while ($data = $req->fetch())
	echo "<option value=\"".$data['s']."\">".$data['s']."</option>";


EDIT : je n'avais pas fait gaffe en première lecture, mais il semble qu'il manque le nom de la table dans le SELECT.

Amicalement,
Modifié par parsimonhi (24 Jan 2016 - 11:10)
J'ai mon formulaire complet à la page comme sur la version 5.4. Smiley smile

Mais pas de sélecteur actif. Smiley bawling

Tu as réussit à afficher l'ensemble de la page. Seul le sélecteur n'arrive pas à pomper les valeurs dans la bdd.

On va y arriver comme hier soir Smiley murf
Modifié par Tintin75 (24 Jan 2016 - 10:59)
Articles, j'ai comme l'impression que tu es sur la bonne piste.

Vive le chef.
Modifié par Tintin75 (24 Jan 2016 - 11:03)
bah non vue que ça y était pas dans la version en prod.

Je vois ou tu veux en venir.
Modifié par Tintin75 (24 Jan 2016 - 11:04)
Je regarde.

Ancien code :

$requete="SELECT s FROM Articles GROUP BY s";


<p>
<select name="s" id="s">Nouvelle état du stock :
<?php
while($data = mysql_fetch_assoc($req))
{
echo "<option value=\"".$data['s']."\">".$data['s']."</option>";
}
?>
</select>
</p>

Le code fonctionne à merveille en 5.4, je viens de m'en servir il y a 5 minutes.

J'ai en ligne :

<p>
          <select name="s" id="s">Nouvelle état du stock :
          <?php
         $req = $connexion->prepare('"SELECT s FROM Articles GROUP BY s";');
				 		 															 
	  	$req->execute();
			while ($data = $req->fetch())
			echo "<option value=\"".$data['s']."\">".$data['s']."</option>";
		  ?>
          </select>
          </p>

Modifié par Tintin75 (24 Jan 2016 - 11:11)
Modérateur
Bonjour,

Fais moi plaisir, mets le même "SELECT s FROM Articles GROUP BY s" dans le nouveau code ! Smiley cligne

Amicalement,
Tu es trop fort !!! Ca marche !!!

Merci beaucoup pour ton aide. J'y suis depuis 7 heures.

J'ai pigé mon erreur. Bon dimanche. C'est fini pour moi avec le PDP Smiley lol

Pour la peine je vais jouer au jeu de Go Smiley murf
Modifié par Tintin75 (24 Jan 2016 - 11:19)
salut,
et au passage pas la peine de passer par prepare si tu ne "prépare" rien. Tu peux directement utiliser query
Modérateur
Zelalsan a écrit :
salut,
et au passage pas la peine de passer par prepare si tu ne "prépare" rien. Tu peux directement utiliser query


Tout à fait d'accord.

Amicalement,
Merci de l'information. Mon code fonctionne à merveille, reste maintenant à étudier plus en détail pour être autonome.

Bon dimanche à vous deux et encore merci pour votre aide autrement je m'en sortais pas.

Smiley smile