garder valeur variable

Eléphant du PHP | 299 Messages

11 mars 2010, 19:12

Bonjour, j' ai un souci, j' aimeria qu' une fois qu' une selection dans la liste deroulante aie été faite (boucle), qu' elle reste "en memoire".

Je vais faire simple, j' ai tout essayé, meme deux ou trois exemple trouvé sur le net ou le posteur premier disait que ca fonctionnait, moi non. Ca revient toujours à la premiere valeur de la boucle.

Pour faire simple, voici mon dernier test:
		     <?php
			 
			
			$cate2 = mysql_query('SELECT * FROM cat ORDER BY id_cat ASC');
			while ($cate = mysql_fetch_array($cate2))
			{
			
			
			
			if($cate['cat']==$_GET["cat"])
			
			echo '<option value="'.$cate['id_cat'].'" selected="selected">'.$cate['cat'].'</option>';
			
			else
			
			echo '<option value="'.$cate['id_cat'].'">'.$cate['cat'].'</option>';

            
			} 
			?>
A savoir que j' ai une session qui est bien créée (en plus), mais je n' arrive pas a l' utiliser pour mon probleme, biern qu' elle s' affiche a chaque fois.

ViPHP
ViPHP | 2287 Messages

11 mars 2010, 19:29

Bonjour,

Je te propose de résoudre ton problème par l'observation, en te posant cette question : est-ce le nom de la catégorie ou son identifiant qui passe dans l'url (et qui se retrouve donc dans $_GET['cat']) ?
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 299 Messages

11 mars 2010, 20:00

Son identifiant numerique :)

edit : oups non, son nom, cat_id pour son identifiant :)

Mammouth du PHP | 985 Messages

11 mars 2010, 20:06

Montre la structure de ta table et la totalité de ton formulaire, stp.
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 299 Messages

11 mars 2010, 21:50

Bien sur:
CREATE TABLE IF NOT EXISTS `cat` (
  `id_cat` text NOT NULL,
  `cat` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Contenu de la table `cat`
--

INSERT INTO `cat` (`id_cat`, `cat`) VALUES
('1', 'Automobiles'),
('2', 'Equipement auto'),
('3', 'Moto'),
('4', 'Equipement moto'),
('5', 'Caravaning'),
('6', 'Nautisme'),
('7', 'Aviation'),
('8', 'Utilitaires'),
('9', 'Ventes immobilières'),
('10', 'Locations'),
('11', 'Colocations'),
('12', 'Locations de vacances'),
('13', 'Bureaux & Commerces'),
('14', 'Informatique'),
('15', 'Consoles & Jeux-vidéos'),
('16', 'Image & Son'),
('17', 'Téléphonie'),
('18', 'Ameublement'),
('19', 'Electroménager'),
('20', 'Art de la table'),
('21', 'Décoration'),
('22', 'Linge de maison'),
('23', 'Bricolage & Jardinage'),
('24', 'Vêtements'),
('25', 'Accéssoires & Bagageries'),
('26', 'Montres & Bijoux'),
('27', 'Equipement bébé'),
('28', 'DVD & Films'),
('29', 'CD & Musique'),
('30', 'Livres'),
('31', 'Animaux'),
('32', 'Sport & Hobbies'),
('33', 'Instruments de musique'),
('34', 'Collections'),
('35', 'Jeux & Jouets'),
('36', 'Vins & Gastronomie'),
('37', 'Matériels professionnel'),
('38', 'Emplois'),
('39', 'Services');
<form method="post" action="l_t.php?r=<?php echo $_POST['r']; ?>" ><table width="980" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td width="352"><input name="c" type="text" value="" size="50" /></td>
        <td width="201"> <select name="cat" size=1>
		     <?php
			 
			
			$cate2 = mysql_query('SELECT * FROM cat ORDER BY id_cat ASC');
			while ($cate = mysql_fetch_array($cate2))
			{
			
			
			
			if($cate['cat']==$_GET["cat"])
			
			echo '<option value="'.$cate['id_cat'].'" selected="selected">'.$cate['cat'].'</option>';
			
			else
			
			echo '<option value="'.$cate['id_cat'].'">'.$cate['cat'].'</option>';
			

			} 
			?>
			
          </select></td>

      </tr>
      
    </table>
	</form>
et la partie traitement:
<?php
session_start();
include ('header.php');


$cat = $_POST['cat'];
$r = $_POST['r'];
$cp = $_POST['cp'];

$_SESSION = array();
session_destroy();




echo '<meta http-equiv="Refresh" content="0;URL=l.php?r='.$r.'&cat='.$cat.'&cp='.$cp.'">';

?>

devlop78
Invité n'ayant pas de compte PHPfrance

24 mars 2010, 15:25

Je vois pas de session ici ? Pourtant tu parles de session ...

ViPHP
ViPHP | 2287 Messages

24 mars 2010, 17:42

Ah désolé j'avais zappé le sujet... :oops:

Toujours pas trouvé graffx ? Si non, dans la continuité de mon post précédent, regarde attentivement l'utilisation faite de $_GET["cat"] dans ton code. Y'a une seule ligne à relire, je pense que tu vas trouver le souci très vite (la question du dernier post était en fait une aide en forme de question ;) ).

@+
if(!@work()){ Nespresso(); } else { what(); }
______________________________