Select avec variable contenant plusieurs valeurs - PHP - Programmation
Marsh Posté le 20-07-2016 à 13:23:41
Bonjour,
Je vois que beaucoup de passe sur le forum, mais personne n'a de piste pour m'aider ???
Merci a celui qui me donnera un début de proposition.
S'il faut tout créer, je suis preneur.....
Merci d'avance.
Marsh Posté le 20-07-2016 à 13:44:42
Comme toujours dans ces cas là, il n'y a pas d'aide car la question manque de précision...
dans :
Code :
|
$valeur correspond à la dernière occurrence de ta boucle :
Code :
|
Donc je supposes que tu voudrais inclure ta requête dans ta boucle foreach
Attention aussi à la protection car comme on le comprend $valeur provient de l'utilisateur ($_POST) et rien n'ai fait pour traiter cette valeur avant de la mettre dans une requête SQL ce qui t'expose à de l'injection...
Si c'est un numéro qui est attendu, un simple intval($valeur), permettrait déjà de traiter le cas "0; DROP TABLE BDD;"
Marsh Posté le 20-07-2016 à 18:53:04
Bonjour à tous,
Je vais essayer d'être plus clair dans mon problème.
Dans une page, je dispose de 99 cases à cocher pour faire une sélection de pages (chaque page contenant des éléments texte)
Exemple de la BDD :
id texte page
1 Maison 1
2 Immeuble 1
3 voiture 2
4 Camion 2
5 vélo 2
etc...
Lorsque j'envoie mon info via le formulaire par un POST, je lis bien les informations.
echo $valeur." "; m’affiche bien la ou les pages sélectionnées.
Par contre :
$select = "SELECT * from BDD WHERE page='".$valeur."' "; ne lit que la dernière page sélectionné, donc ne m’affiche pas tous les textes demandés.
J’espère avoir été plus clair dans mon souci.
Merci
Marsh Posté le 20-07-2016 à 18:59:35
Un exemple de ce que j'obtiens :
Voici la (les) page (s) que vous avez choisi : 1 3 4 5 7
Page : 7 - crocodile (le)
Page : 7 - octobre
Page : 7 - novembre
Page : 7 - gros
Page : 7 - grosse
Page : 7 - porte (la)
Page : 7 - alors
Page : 7 - encore
Page : 7 - trop
Marsh Posté le 21-07-2016 à 09:03:24
mechkurt a écrit :
|
Pas mieux à dire alors...
Marsh Posté le 18-07-2016 à 13:00:39
Bonjour à vous
Je souhaite réaliser un affichage des éléments de la BDD en fonction des pages que je sélectionne grâce à des chexbox
La BDD :
ID
TEXTE
PAGE
L’affichage de ma sélection est bon, mais pas l’affichage des mots. Seul la dernière page de ma sélection s’affiche.
Auriez-vous une piste, merci pour moi et mes élèves….
le code :
<?php
include 'config.php';
include 'navigation.php';
?>
<html>
<head>
<title>Liste des mots </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="module.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div align="center">
<p> </p>
<p> </p>
<p> </p>
<?php
// vérifions que la variable a été transmise
$tabPage = (isset($_POST['page']))?$_POST['page']:null;
echo "Voici la (les) page (s) que vous avez choisi : ";
// bouclons sur le tableau qui a été transmis et affichons les valeurs sélectionnées
if (!empty($tabPage)) {
foreach($tabPage as $cle => $valeur) {
echo $valeur." ";
}
}
echo "<br>";
echo "<br>";
//$select = "SELECT texte from BDD ORDER BY rand() LIMIT 0,22";
$select = "SELECT * from BDD WHERE page='".$valeur."' ";
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
while($row = mysql_fetch_array($result))
{
echo "Page : ".$row["page"]." - ";
echo "".$row["texte"]."<br>";
}
mysql_free_result ($result);
mysql_close ();
?>
</div>
</html>