Affichage tableau avec checkbox !!!

[Résolu]
Signaler
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006
-
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006
-
Bonjour a tous, voila j'ai une premiere page qui affiche les données d'une base de donnée sous forme de tableau avec checkbox :

<html>

<center>
<?
include ("connect.inc");
$demande="SELECT * FROM `mantis_realisation` ;";
$result=mysql_query($demande);
$champs = mysql_num_fields($result);
$lignes = mysql_num_rows($result);
?>
<form method=\"post\" action=\"suppr.php\" select name=\"select\" >

----
Date, Numéro d'ordre, Code activité, Bug id, Temps passé, Commentaire,

<?
echo \"

\";
while($row = mysql_fetch_row($result)){
$i=1;

echo \"----
\";
while ($i < $champs){
echo \"$row[$i], \";
$i+=1;

}

echo\", \";

echo \"\";

}
mysql_free_result($result);
?>
</td>
----
,
----
,

</form>

</html>

Ensuite j'ai une deuxieme page qui récupere la sélection par checkbox d'apres le formulaire la avec Modifier et Supprimer mais le probleme est que cette deuxieme page ne m'affiche rien, je ne vois pas ou est l'erreur, voila cette fameuse page :

html>

<?
include (\"connect.inc\");
if (isset ($_POST['submit']) && $_POST['Vals'] === 'Supprimer')
{
if(empty($Fusage))
{
echo \"Veuillez cocher une ou plusieurs cases\";
exit();
}
else
if($Fusage){
while(list(,$val)=each($Fusage)) // boucle servant à naviguer dans le tableau Fusage[]
{
$demande=\"DELETE FROM `mantis_realisation` WHERE `handler_id`='$val'\" ;
$resultat=@mysql_query($demande);
if($resultat) echo \"Votre suppression a été effectué avec succès.
\" ;
$sql = 'OPTIMIZE TABLE `mantis_realisation` ';
$resultat=@mysql_query($sql);
}
}
}
else
if ( isset ($_POST['submit']) && $_POST['Vals'] === 'Modifier')
{
if(empty($Fusage))
{
echo \"Veuillez cocher une ou plusieurs cases\";
exit();
}
else
if($Fusage){
while(list(,$val)=each($Fusage)) // boucle servant à naviguer dans le tableau Fusage[]
{
$demand=\"SELECT * FROM `mantis_realisation` WHERE `handler_id`='$val'\";
$result=@mysql_query($demand);
$champs=mysql_num_fields($result);
?>
<center>
<table width=\"500\" height=\"100\" >
<form method=\"post\" action=\"formcontact.php\" name=\"contact\" >

<?
echo \"

\";
while($row = mysql_fetch_row($result)){
$i=0;

while ($i < $champs)
{
echo \", \";
$i+=1;
}

}
mysql_free_result($result);

?>
----

,

</form>

</center>
<?
}
}
}
?>
</H1>

</html>

31 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Remplace

else
//if (vals2=='Modifier')
if (isset ($_POST['vals2']) && $_POST['vals2'] == 'Modifier')

par

elseif (isset ($_POST['vals2']) && $_POST['vals2'] == 'Modifier')
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,





ARGH!!



C'est moche!!



Bon, commence deja par ca :



echo"<td></td>";



transformes ainsi :



echo'<td></td>';



apres on verra...je t'expliquerai pourquoi apres, la j'ai un truc a
faire (le xml d'un calendrier playboy a corriger, ahlala, dur ce
taf...;-) )
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

ok donc sur ma premiere page j'ai remplacé mon echo"<td></td>";
par cke tu vien dme dire ok, et pour le reste ba quand t'auras le temps j'attends ton aide lol merci encore de prendre du temps pour moi ;) c'est vraiment sympa.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Il FAUT faire ca, parce que... :

essentiellement pour value=...
si tu ne mets pas de quotes, et que tu as un espace dans ta valeur tu vas obtenir :
value=ma valeur

ton navigateur ne va pas savoir OU s'arrete ta valeur, alors, il va s'arreter au premier espace,
Tu auras donc comme valeur "ma" alors que tu voulais "ma valeur". Si ensuite tu fais une requete, tu vas faire ta requete avec "ma"...bref ca fausse tout.

Si tu mets les guillemets, le navigateur SAIT comment est delimitee ta valeur, donc tout va bien.
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

a ok ok merci la je cherche d'ou vient l'erreur mais jtrouve rien lol jaten dreprendre le boulot a 14h et apres je my attaque serieusement !!!! mdr
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

alors du nouveau malalam si t'as eu le temps de jeter un oeil ??
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,

non et je n'aurai sans doute pas le temps avant un moment :-( J'espere que quelqu'un d'autre s'occupera de ton probleme parce que la moi...ce sera plutot pour demain.
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

ok ba ya pa de prob merci quand meme ;) ok ba jte tiendrais o courant demain si jmen suis sortis ou pas ;)
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Je sais :



if (isset ($_POST['submit']) && $_POST['Vals'] === 'Supprimer')

if ( isset ($_POST['submit']) && $_POST['Vals'] === 'Modifier')



c'est faux.

C'est :



if (isset ($_POST['Vals']) && $_POST['Vals'] === 'Supprimer')

et

if ( isset ($_POST['Vals']) && $_POST['Vals'] === 'Modifier')
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

euh g remplacé mais meme chose, en fait il ne me prend pa en compte mes if :( car tout a la fin g mis un echo et ce echo c'est bien afficher , je ne vois plus comment faire ssnifff et petite question pourquoi tu as: === il n'y en a pas un en trop ??
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

Bon j'ai tout remis au propre mais je ne vois tjr pas pk ca ne marche pas :(

j'ai donc ma page de sélection qui affiche dans un formulaire les checkbox :

<html>

<center>
<?
include ("connect.inc");
$demande="SELECT * FROM `mantis_realisation` ;";
$result=mysql_query($demande);
$champs = mysql_num_fields($result);
$lignes = mysql_num_rows($result);
?>
<form method=\"post\" action=\"modif.php\" select name=\"select\" >

----
Date, Numéro d'ordre, Code activité, Bug id, Temps passé, Commentaire,

<?
echo '

';
while($row = mysql_fetch_row($result)){
$i=1;

echo \"----
\";
while ($i < $champs){
echo \"$row[$i], \";
$i+=1;

}

echo', ';

echo \"\";

}
mysql_free_result($result);
?>
</td>
----
,
----
,

</form>

</html>

Ensuite j'ai la page qui récupère et qui affiche selon qu'on a cliquer sur supprimer ou modifier :

<html>

<?
include (\"connect.inc\");
//if (vals=='Supprimer')
if (isset ($_POST['submit']) && $_POST['vals'] == 'Supprimer')
{
echo \"***Supprimer***\";
if(empty($Fusage))
{
echo \"Veuillez cocher une ou plusieurs cases\";
exit();
}
else
if($Fusage)
{
while(list(,$val)=each($Fusage)) // boucle servant à naviguer dans le tableau Fusage[]
{
$demande=\"DELETE FROM `mantis_realisation` WHERE `handler_id`='$val'\" ;
$resultat=@mysql_query($demande);
if($resultat) echo \"Votre suppression a été effectué avec succès.
\" ;
$sql = 'OPTIMIZE TABLE `mantis_realisation` ';
$resultat=@mysql_query($sql);
}
}
}

else
// if (vals=='Modifier')
if (isset ($_POST['submit']) && $_POST['vals'] == 'Modifier')
{
echo \"***Modifier***\";
if(empty($Fusage))
{
echo \"Veuillez cocher une ou plusieurs cases\";
exit();
}

else
if($Fusage)
{
while(list(,$val)=each($Fusage)) // boucle servant à naviguer dans le tableau Fusage[ ]
{
$demand=\"SELECT * FROM `mantis_realisation` WHERE `handler_id`='$val'\";
$result=@mysql_query($demand);
$champs=mysql_num_fields($result);
?>
<center>
<table width=\"500\" height=\"100\" >
<form method=\"post\" action=\"formcontact.php\" name=\"contact\" >

<?
echo \"

\";
while($row = mysql_fetch_row($result))
{
$i=0;
while ($i < $champs)
{
echo \", \";
$i+=1;
}
}
mysql_free_result($result);
?>
----

,

</form>

</center>
<?
}
}
}

else
{
echo "*** Ooops ****
";
}
?>
</H1>

</html>

Le probleme c'est qu'il ne prend pas en compte mes IF et donc il affiche toujours l'eco : OOOPS

Je ne sais plus quoi faire
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

autre prob :( meme si je force une condition il considere qu'aucune case n'a ete cochee :( donc probleme avec la checkbox sniff jdeviens fou !!!
Messages postés
71
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
3 août 2005

Slt j'ai remarqué une chose, c'est que tes 2 boutons ont le même nom soit :


<tr><td>  </tr></td>
  <tr><td>   </tr></td>


je pense plutot que tu devrais changer les "name" de tes formulaires par ceci exemple :

<tr><td>  </tr></td>
  <tr><td>   </tr></td>


au moins là je préusme que qd tu cliqueras sur supprimer il exécutera directement le code attribuer au bouton supprimer et si c'est sur modifier il exécutera celui par défaut.


J'espère t'avoir aidé pc moi aussi j'ai tjrs des pbs et je suis contente de savoir qu'il y'a des gens qui nous aide.


Bon courage encore
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Elle a raison, j'y ai pense ce matin mais j'ai eu une reunion lol.
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

mdr ok ok ba merci chardene je v essayer la pi malalam no prob jvous tien o courant ;) merci encore
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

j'ai changé les nom :

<tr><td> </tr></td>
<tr><td> </tr></td>

et donc pour voir quel bouton a ete cliqué sur lotre page g :

if (isset ($_POST['submit']) && $_POST['vals1'] =='Supprimer')

if (isset ($_POST['submit']) && $_POST['vals2'] == 'Modifier')

Mais il ne me prends pas les tests :( il les ignore completement
Messages postés
71
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
3 août 2005

Je pense que tu devrais traiter tes conditions l'une après l'autre; c'est à dire :
  if (isset ($_POST['submit']) &amp;&amp; $_POST['vals1'] =='Supprimer') 
     { traitement ..........}
   else if  (isset ($_POST['submit']) &amp;&amp; $_POST['vals2'] == 'Modifier')  
     {traitement ............}



Pcq je pense que ceux sont des boutons dc, à chacun son traitement. C'est pas comme on doit faire la vérification de validation de champs sur un formulaire !

Ben, là est mon idée si c'est pas ; je suis ouverte à tte remarque, car je viens de commencer avec ce langage et j'ai tjrs besoin d'aide .
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Mets des echo 'test1'; etc... dans chacun de tes if() et de tes else, pour voir ou il va exactement.
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

ok je te remercie bah je v essayer la pi jte dis ;)
Messages postés
53
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
7 avril 2006

[mailto:$resultat=@mysql_query($demande $resultat=@mysql_query($demande]);
if($resultat) echo "Votre suppression a été effectué avec succès.
" ;
$sql = 'OPTIMIZE TABLE `mantis_realisation` ';
[mailto:$resultat=@mysql_query($sql $resultat=@mysql_query($sql]);
}

}


else
//if (vals2=='Modifier')
if (isset ($_POST['submit']) && $_POST['vals2'] == 'Modifier')
{
echo "***Modifier***";
if(empty($Fusage))
{
echo "Veuillez cocher une case";
exit();
}

else
while(list(,$val)=each($Fusage)) // boucle servant à naviguer dans le tableau Fusage[ ]
{
$demand="SELECT * FROM `mantis_realisation` WHERE `handler_id`='$val'";
[mailto:$result=@mysql_query($demand $result=@mysql_query($demand]);
$champs=mysql_num_fields($result);
?>
<center>
<form method=\"post\" action=\"formcontact.php\" name=\"contact\" >

<?
echo \"

\";
while($row = mysql_fetch_row($result))
{
$i=0;
while ($i < $champs)
{
echo \", \";
$i+=1;
}
}
mysql_free_result($result);
?>
----

,

</form>

</center>
<?
}
}


else
{
echo "*** Ooops ****
";
}
?>
</H1>

</html>