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

linda.zazy Messages postés 318 Statut Membre -  
linda.zazy Messages postés 318 Statut Membre -
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!

2 réponses

  1. gign44 Messages postés 132 Statut Membre 5
     
    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
  2. linda.zazy Messages postés 318 Statut Membre 16
     
    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
    1. gign44 Messages postés 132 Statut Membre 5
       
      pourrais tu fournir l'arborescence de ta table wineaccessories stp
      0
    2. linda.zazy Messages postés 318 Statut Membre 16
       
      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