Tom's Guide > Forum > Programmation > Pb tableau dynamique(php)
Mot :    Pseudo :           
 

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

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Salut,

fais une condition : if ( isset($_GET['ajouter']) {...

Répondre à bosco@idn

dsl, mai je l'ai ajouter et c encor le meme pb... :-(

Répondre à neuss45

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 } ?>

Répondre à okinou

Dsl, mais c toujours le meme pb, quand je rajoute une activité, celle davant se rajoute ou kan j'actualise aussi.... :-?

Répondre à neuss45

Citation :


Okinou a écrit :
le isset ne sert à rien


T'es vraiment pas logique dans ce que tu dis...

Soit disant le isset() ne sert à rien, pourtant, tu le remet dans ton code...

Répondre à bosco@idn

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().

Répondre à ataofeal

Merci atéo.

Quelque chose me dit que j'ai un peut plus de logique qu'une personne ne voudrais le croire...

Répondre à okinou

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 ?

Répondre à bosco@idn

une variable peut être à null .... auquel cas elle existe et est vide, non?

Répondre à lissyx

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.

Répondre à bosco@idn

oui mais tu sais pas forcément ce qui arrive.

Répondre à lissyx

Citation :


Lissyx a écrit :
oui mais tu sais pas forcément ce qui arrive.


Tu peux expliciter ?

Répondre à bosco@idn

Citation :


bosco a écrit :
[quote]
Lissyx a écrit :
oui mais tu sais pas forcément ce qui arrive.


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 ...

Répondre à lissyx

Citation :


bosco a écrit :
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.



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.

Répondre à okinou

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

Répondre à SiM07

Dsl de vous deranger dans votre conversation mais alors, vous ne voyez pas la solution a mon pb ?

Répondre à neuss45

essaie en fesant un unset de ta variable juste avant la balise de fin php

Répondre à showie
Tom's Guide > Forum > Programmation > Pb tableau dynamique(php)
Aller à :

Il y a 314 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens