Maudite case à cocher !!!
Hors ligneSalva Le 17/01/2007 à 22:02 Profil de Salva Configuration de Salva

Salut à tous.

je galére une nouvelle fois avec mes cases à cocher.

Voilà j'ai une page avec un formulaire contenant des cases à cocher.

Lorsque j'envoi le formulaire j'ai la requete suivante qui part dans l'URL :



http://www.monsite.com/tarif.php?tri=cassvideo&tri=albums&Submit=Afficher



Sur la page tarif.php j'ai un tableau avec une région répété qui est censé afficher le résultat.
sauf qu'elle n'affiche que le résultat de la seconde case coché, dans ce cas pour la valeur "albums".

Ce que je ne sais pas, est-ce la requête que j'envoi qui ne va pas ou la page qui affiche le résultat qui a un problème.

Le code sur la page qui affiche est le suivant :



<?php
$colname_my123595 
"1";
if (isset(
$_GET['tri'])) {
  $colname_my123595 = (get_magic_quotes_gpc()) ? $_GET['tri'] : addslashes($_GET['tri']);
}
mysql_select_db($database_cidelaur$cidelaur);
$query_my123595 sprintf("SELECT * FROM articles WHERE tri = '%s'"$colname_my123595);
$my123595 mysql_query($query_my123595$cidelaur) or die(mysql_error());
$row_my123595 mysql_fetch_assoc($my123595);
$totalRows_my123595 mysql_num_rows($my123595);
?>


 <?php do { ?>
  <tr>
    <td><?php echo $row_my123595['reference']; ?></td>
    <td><?php echo $row_my123595['denomination']; ?></td>
    <td><?php echo $row_my123595['prix']; ?></td>
    <td>&nbsp;</td>
  </tr>
  <?php } while ($row_my123595 mysql_fetch_assoc($my123595)); ?>



Merci de votre aide.

@+
Hors ligneMalalam Le 20/01/2007 à 09:21 Profil de Malalam Configuration de Malalam

hello,

les 2.
Tes cases à cocher doivent avoir un attribut name sous forme de tableau.
Par exemple, si tu veux avoir plusieurs cases à cocher pour le tri:
<input type="checkbox" name="tri[]" value="album" />
<input type="checkbox" name="tri[]" value="auteur" />
<input type="checkbox" name="tri[]" value="date" />

sinon, si tu as mis, comme je le pense : "tri", ben évidemment, tri est écrasé par la dernière valeur cochée.

tu récupères donc tes valeurs dans le tableau $_GET['tri']. J'insiste: c'est un TABLEAU.
Si tu as coché album et date, tu auras par exemple :
$_GET['tri'][0] = 'mon album'
$_GET['tri'][1] = 'ma date'

Pour la requête, du coup :
...WHERE tri IN ('.implode (',', $_GET['tri']).')...
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels