Pb tableau dynamique(php)
Forum Programmation : Pb tableau dynamique(php)
TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
Bonjour, je vous explique mon probleme, j'essaye de creer un script en php pour organiser mes taches de travail(tache a effectuer, nbres d'heure...)
Je peux ajouter au fur et à mesure des activités qui dans une liste deroulante...le probleme qui se pose, c'est qu'à chaque fois que j'actualise ma page, il me rajoute une activité(vide), de meme, quand je rajoute une activité, l'activité que j'avais ajouter précedemment se rajoute encore une fois.
En quelques mots, ma liste deroulante se rempli à mon insue !! voici mon code :
<?
$activite=$_GET['ajouter'];
mysql_connect("localhost", "root" );
mysql_select_db("heure_ptut" );
mysql_query("INSERT INTO activite VALUES ('', '" . $activite . "')" );
$ajout=mysql_query("SELECT * from activite ORDER BY id DESC" );
?>
<label>
<select name="select">
<option>réunion</option>
<? while ($donnees = mysql_fetch_array($ajout)){?>
<option> <? echo $donnees['activite']; ?></option>
<?
}
?>
</select>
merci a tous
Salut,
fais une condition : if ( isset($_GET['ajouter']) {...
dsl, mai je l'ai ajouter et c encor le meme pb... :-(
le isset ne sert à rien vu qu'il controle si $_GET['var'] est présente et c'est le cas, il ne verifie pas si c'est vide ou non. Pour ce faire :
<?php
if(isset($_GET['ajouter']) AND !empty($_GET['ajouter'])) {
$activite=$_GET['ajouter'];
mysql_connect("localhost", "root" );
mysql_select_db("heure_ptut" );
mysql_query("INSERT INTO activite VALUES ('', '" . $activite . "')" );
$ajout=mysql_query("SELECT * from activite ORDER BY id DESC" );
?>
<label>
<select name="select">
<option>réunion</option>
<? while ($donnees = mysql_fetch_array($ajout)){?>
<option> <? echo $donnees['activite']; ?></option>
<?
}
?>
</select>
<?php } ?>
Dsl, mais c toujours le meme pb, quand je rajoute une activité, celle davant se rajoute ou kan j'actualise aussi.... :-?
| Citation :
|
T'es vraiment pas logique dans ce que tu dis...
Soit disant le isset() ne sert à rien, pourtant, tu le remet dans ton code...
isset ne sert à rien pas rapport à ce qu'il souhaite tester.
En revanche il ne sert à rien de tester si une variable est vide si elle n'existe pas, d'où le isset() avant le empty().
Merci atéo.
Quelque chose me dit que j'ai un peut plus de logique qu'une personne ne voudrais le croire...
if(isset($_GET['ajouter']) AND !empty($_GET['ajouter']))
-->
SI ajouter a une valeur ET SI elle n'est pas vide
C'est quoi l'utilité de ça ?
une variable peut être à null .... auquel cas elle existe et est vide, non?
Certes, mais comme la valeur de "ajouter" doit être insérée dans une bdd, il est logique que la valeur de "ajouter" ne doit pas être NULL.
oui mais tu sais pas forcément ce qui arrive.
| Citation :
|
Tu peux expliciter ?
| Citation :
|
Tu peux expliciter ?
[/quote]
C'est simple, il ne faut jamais faire confiance à ce qui arrive brute de fonderie. Sinon tu vas vite de retrouver avec des failles dans tous les sens ...
| Citation :
|
Vi, c'est pour ca que l'on test si $_GET['ajouter'] n'est PAS vide par !empty (le ! signifie différent).
Comme ca, le script sera éxécuté que si :
$_GET['ajouter'] est déclaré et qui donc, existe (isset) et si la valeur n'est pas vide (!empty).
Ensuite, a par controler le type de chaine reçu on peut pas faire grand chose. Mais cela limite déja les insertion vide et inutile.
le !empty suffit largement car empty n'est fait pas que savoir si la variable est vide c'est pas une fonction comme une autre j'en ai d'ailleur fait l'experience il y a peu pour je ne sais plus quelle raison
Dsl de vous deranger dans votre conversation mais alors, vous ne voyez pas la solution a mon pb ?
essaie en fesant un unset de ta variable juste avant la balise de fin php
Il y a 314 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
