Modification script php, please j'ai besoin de vous?!

Fermé
linda.zazy Messages postés 297 Date d'inscription dimanche 30 mars 2008 Statut Membre Dernière intervention 2 février 2017 - 9 sept. 2013 à 11:31
linda.zazy Messages postés 297 Date d'inscription dimanche 30 mars 2008 Statut Membre Dernière intervention 2 février 2017 - 9 sept. 2013 à 16:21
Bonjour,

Je veux afficher les données stockées dans une base de données en utilisant les cases à cocher... j'ai trouvé un script sur le net , mais j'ai un petit problème; en cochant les cases et en cliquant sur le bouton , les données s'affichent mais pas correctement; je voulais modifier le code mais j'ai pas réussi parce que je suis débutante.. je pense que le problème est due à la fonction suivante: $categories = implode( '<br>',$categories );


Voila tout le code:


<!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>Document sans nom</title>
</head>

<body>


<form method="post" action="" >
<input name="categories[BottleOpener]" type="checkbox" id="BottleOpener" value="1">Bottle Opener<br />

<input name="categories[WineClipper]" type="checkbox" id="WineClipper" value="1">Wine Clipper<br />

<input name="categories[WineGlass]" type="checkbox" id="WineGlass" value="1">Wine Glass<br />

<input name="categories[WineBottle]" type="checkbox" id="WineBottle" value="1">Wine Bottle<br />

<input type='submit' value='Search'>

</form>

<?php
mysql_connect('localhost','root','');
mysql_select_db('juice');



if(isset($_POST['categories']) && !empty($_POST['categories'])){
$categories=$_POST['categories'];
foreach($_POST['categories'] as $key=>$value){
if($value==1) $categories[] = "category='".mysql_real_escape_string($key)."'";

}
$categories = implode( '<br>',$categories );



$query = "SELECT * FROM wineaccessories WHERE $categories";


echo 'les noms sont '. $categories;

}
?>
</body>

</body>
</html>





Svp aidez; moi!
A voir également:

2 réponses

gign44 Messages postés 124 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 22 octobre 2013 5
Modifié par gign44 le 9/09/2013 à 12:04
Bonjour linda,

au lieu de :

$categories = implode( '<br>',$categories ); 

Formate ton texte pour rendre un affichage comme tu le souhaites tel que :

echo categories[BottleOpener]."<br />";

echo categories[WineClipper]."<br />";
echo categories[WineGlass]."<br />";
echo categories[WineBottle]."<br />";

A partir de là, tu peux créer ce que tu veux pour formater ton affichage, peut-être créer un table ? :)
Cela dépend bien entendu de ta base de donnée, vu que tu récupères tout les champs, tu sélectionnes ici "categories['nom_de_la_colonne']" que tu souhaites afficher.

Cordialement
0
linda.zazy Messages postés 297 Date d'inscription dimanche 30 mars 2008 Statut Membre Dernière intervention 2 février 2017 16
9 sept. 2013 à 12:14
Bonjour, Monsieur.

Merci d'avoir répondu!

Je ne veux pas afficher tout les données, les données seront affichés selon les cases à cocher.. si le visiteur choisi certaines cases que les informations correspondantes seront affichés.....

Voila, est ce que vous m'avais compris?
0
gign44 Messages postés 124 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 22 octobre 2013 5
9 sept. 2013 à 14:40
pourrais tu fournir l'arborescence de ta table wineaccessories stp
0
linda.zazy Messages postés 297 Date d'inscription dimanche 30 mars 2008 Statut Membre Dernière intervention 2 février 2017 16
9 sept. 2013 à 16:21
Bonjour, et merci gign44


Base de données: 'juice'
--

-- --------------------------------------------------------

--
-- Structure de la table ' wineaccessories'
--

CREATE TABLE ' wineaccessories' (
'categories' varchar(100) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Contenu de la table ' wineaccessories'
--

INSERT INTO ' wineaccessories' ('categories') VALUES
('BottleOpener'),
('WineClipper'),
('WineGlass'),
('WineBottle');
0