Checkbox + tableau + popup

Résolu
diafwl1 Messages postés 52 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 5 août 2008 - 19 janv. 2006 à 12:01
diafwl1 Messages postés 52 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 5 août 2008 - 22 janv. 2006 à 03:23
Bonjour,

J'affiche dans un popup un tableau contenant toutes les
informations d'une table et je place sur chaque ligne une checkbox qui
servira à choisir les lignes que l'on veut modifier. J'aimerai
recupérer le 1er champs de chaque lignes selectionnées dans une
variable et recupérer ensuite cette varable sur la page principal.

Le problème est que je n'arrive pas à récupérer ces valeurs.

Quelqun pourrait-il m'aider?



voici mon code :

//page principale

<?php
...
$result = mysql_query("SELECT * FROM table");
?>
<html>
<SCRIPT language="JavaScript">
f=open("modifpop.php",'','width=710,height=400,top=0,left=0,toolbar=no,scrollbars=yes,resizable=no,location=no,menubar=no');
</SCRIPT>

<?php
echo '----
';
for($i=0;$i<count($_POST['choixModif']);$i++)
{
mysql_data_seek($result,$_POST['choixModif'][$i]);
$champs=mysql_fetch_array($result);
for($j=0;$j<10;$j++)
{
echo''.$champs[$j].', ';
}
echo\"\";
}
?>

</html>

//popup
<?php
...
echo"\";
for($i=0;$i<mysql_num_rows($result);$i++)
{
mysql_data_seek($result,$i);
$champs=mysql_fetch_array($result);
echo \"----
\";
for($j=0;$j<10;$j++)
{
if($j==0)
echo', ';
echo''.$champs[$j].', ';
}
echo\"\";
}
echo"
";
echo '<form method="post" action="modif.php"></form>';

?>

8 réponses

diafwl1 Messages postés 52 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 5 août 2008
22 janv. 2006 à 03:23
Problème résolu !!merci à ceux qui ont cherché la solution
solution au pb :

//page maitresse

<?php
session_start();
echo "";
print_r($_SESSION);
echo "

";
if (isset($_SESSION['choixModif']))
{
// tu affiches tes lignes à modifier
echo 'select réussi';
foreach ($_SESSION['choixModif'] as $key => $value)
{echo "ID $key : value $value
\n";
}
// suppression des variables de session
unset ($_SESSION['choixModif']);
}
else
{
//affichage la page normale (avant popup)
echo "1er passage dans la fenetre";
echo "<SCRIPT language='JavaScript'>
popup=window.open('modifpop.php','','width=900,height=400,top=300,left=350,toolbar=no,scrollbars=yes,resizable=no,location=no,menubar=no');
</SCRIPT>";
}





//popup

<?php
session_start();
[ ... ]
$result = mysql_query("SELECT * FROM baie_port");

if(isset($_POST['choixModif']))
{
$_SESSION['choixModif']=$_POST['choixModif'];
[ ... ]

echo 'exit();';
}
else
{
[ ...]

echo"\";
echo '<form method=\"POST\" action=\"modifpop.php\">';
for($i=0;$i<mysql_num_rows($result);$i++)
{
mysql_data_seek($result,$i);
$champs=mysql_fetch_array($result);
echo \"----
\";
for($j=0;$j<10;$j++)
{
if($j==0)
echo ', ';
echo ''.$champs[$j].', ';
}
echo \"\";
}
echo "
";
echo '</form>';

echo '
</html>';
}

?>
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
19 janv. 2006 à 13:00
Hello,

tes checkbox ne sont pas dans le formulaire...
Et tes champs input hidden n'ont aucune valeur. Pire, le tableau choixModif[] va être de toutes façons celui de ton champ hidden, sans valeur...
Heu enfin bref, trop de truc à dire!

Vure moi ce input hidden,
mets ton formulaire dans ton tableau (ou l'inverse). tes checkbox doivent être dans ce formulaire.

Autre chose : on ne met pas de count() dans un for (), car for () réévalue ses conditions à chaque itération; bref, tu comptes ton tableau autant de fois que tu as d'entrées dans ton tableau. Sors le :
$cpt = count (tab);
for ($i = 0; $i < $cpt; $i++) {}
0
diafwl1 Messages postés 52 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 5 août 2008
19 janv. 2006 à 13:37
comme sa ?

echo"\";
for($i=0;$i<mysql_num_rows($result);$i++)
{
mysql_data_seek($result,$i);
$champs=mysql_fetch_array($result);
echo \"----
\";
for($j=0;$j<10;$j++)
{
if($j==0)
echo'<form></form>, ';
echo''.$champs[$j].', ';
}
echo\"\";
}
echo"
";
echo '<form method="post" action="modif.php"></form>';
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
19 janv. 2006 à 14:51
Pourquoi tu gardes ton dernier formulaire ??

Non :
<form...>
//requete
// boucle
// checkboxes
//sortie de boucle
// bouton
</form>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
diafwl1 Messages postés 52 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 5 août 2008
19 janv. 2006 à 16:49
Sa devrait etre sa (je ne sais pas du tout pourquoi e garder le 2nd form ):

echo"\";
for($i=0;$i<mysql_num_rows($result);$i++)
{
mysql_data_seek($result,$i);
$champs=mysql_fetch_array($result);
echo \"----
\";
echo '<form method=\"post\" action=\"modif.php\">';
for($j=0;$j<10;$j++)
{
if($j==0)
echo '</form>, ';
echo ''.$champs[$j].', ';
}
echo \"\";
}
echo "
";
echo '</form>';
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
19 janv. 2006 à 17:31
C'est mieux :-)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
19 janv. 2006 à 17:33
Maintenant, je ne suis pas sûr que cela fonctionne ton bin's...faudra peut-être du javascript pour retourner au document parent...
0
diafwl1 Messages postés 52 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 5 août 2008
19 janv. 2006 à 17:38
merci,
mais maintenant c'est pour la récupération que j'ai du mal
sa ne change ri1 à ma page une foi le popup fermé !
mon code de la page principale:
<?php
[ ... ]
$result = mysql_query("SELECT * FROM ma_table");
?>
<html>
<head>
<title>Modifier</title>
</head>
<SCRIPT language="JavaScript">
f=open("modifpop.php",'','width=710,height=400,top=0,left=0,toolbar=no,scrollbars=yes,resizable=no,location=no,menubar=no');
</SCRIPT>

<?php
function affiche($a)
{
for($i=0;$i<count($a);$i++)
{
echo\"$a[$i]\";
echo \"hello\";
}
}

if(isset($_POST['recu_choixModif']))
{
echo '----
';
$rows=count($_POST['recu_choixModif']);
for($i=0;$i<$rows;$i++)
{
mysql_data_seek($result,$_POST['recu_choixModif'][$i]);
$champs=mysql_fetch_array($result);
for($j=0;$j<10;$j++)
{
echo''.$champs[$j].', ';
}
echo\"\";
}
}
?>


</html>
0
Rejoignez-nous