Valeur envoyée dans URL toujorus égale à zéro

beegees Messages postés 102 Statut Membre -  
beegees Messages postés 102 Statut Membre -
Bonjour,

Bonjour tout le monde,

J'ai un code qui devrait passer un entier à un script appelant.

Le problème est qu'il passe toujours zéro.

[quote]<lien>http://localhost/MettreAJour.php?NbLignes=0</lien>[/quote]

L'entier qui doit être envoyé est un compteur qui s'incrémente dans cette boucle :


[code]while($row = mysql_fetch_array($query,MYSQL_NUM))
{
$compteur+=1;
echo 'compteur -->'.$compteur;
echo '<tr>';
[/code]

Je vous laisse l'entierté de mon code, cela sera sans doute plus claire :


[code]<?php

$compteur = 0;




$link = mysql_connect('localhost', 'root', 'mdp');
if(!$link)
{
echo 'Impossible de se connecter à MySQL';
exit;
}

// Rendre la base de données deliberation, la base courante
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected)
{
die ('Impossible de sélectionner la base de données : ' . mysql_error());
}

echo '<form action="MettreAJour.php?NbLignes='.$compteur.'" method="post" name="frmSaisie" id="frmSaisie">';

echo '<table border="1">';
$query = mysql_query("SELECT * FROM .$_POST[select_Nom_Tables] LIMIT 20") or die (mysql_error());


echo '<tr>';
for($i=0;$i<mysql_num_fields($query);$i++)
{
echo '<th>'.mysql_field_name($query,$i).'</th>';
}
echo '</tr>';
while($row = mysql_fetch_array($query,MYSQL_NUM))
{
$compteur+=1;
echo 'compteur -->'.$compteur;
echo '<tr>';
foreach($row as $value)
{

echo '<td> <textarea>'.$value.'</textarea> <input name="'.mysql_field_name.$compteur.'" type="hidden" id="txtMatricule'.$compteur.'"value=""></td>';



}
echo '</tr>';
}
echo '</table>';

echo '<input type="submit" name="Submit" value="Mettre la table à jour" />' ;
echo '</p></form>';


?>
[/code]

Et voici le script qui récupère l'entier :


[code]<?php


# script qui permet de créer des zones de texte à la volée et d'afficher le nom des champs de la table
# variable qui contient le nom de ma base de données.
$dbname = 'deliberations';
$compteur = 0;


$link = mysql_connect('localhost', 'root', 'mdp');
if(!$link)
{
echo 'Impossible de se connecter à MySQL';
exit;
}

// Rendre la base de données deliberation, la base courante
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected)
{
die ('Impossible de sélectionner la base de données : ' . mysql_error());
}

$NbLignes = $_GET["compteur"];

for ($i = 0; $i < $NbLignes;$i++)
{
$Matricule = $_REQUEST["txtMatricule".i];
$Nom = $_REQUEST["txtNom".i];
$Prenom = $_REQUEST["txtPrenom".i];
$DateDeNaissance = $_REQUEST["txtDateDeNaissance".i];
$Email = $_REQUEST["txtEmail".i];
$Photo = $_REQUEST["txtPhoto".i];



$txtSQL = "" ;
$txtSQL = "update [etudiants] set [Nom_Et] = '".$Nom ."' where [Matricule_Et] = '".$Matricule."'" ;



}


?>[/code]


Un super grand merci d'avance pour l'aide.

beegees
A voir également:

9 réponses

toto
 
Bonjour

Ton lien est créé avant ta boucle.
$compteur n'a aucune raison de valoir autre chose que 0 avant ta boucle
0
toto
 
Il faut que tu le crées quand la variable à la valeur que tu veux. Faut sortir de Polytechnique pour comprendre ça ?
0
toto
 
Pourquoi te mets-tu à parler de bouger le form ?
Il faut que je crée le lien après la boucle alors ? oui
0
toto
 
Excuse moi. Je fatigue, là.

Je n'ai encore jamais essayé de passer un valeur dans l'URL en même temps qu'un FORM par POST. En général, on ne combine pas les 2 méthodes mais je suppose que ce n'est pas interdit
ça ne change pas grand chose : tu ne peux pas t'attendre à ce que ton script devine au début de ta boucle, combien il y aura de boucles. Tu ne peux le savoir qu'après la requête

echo '<table border="1">';
$query = mysql_query("SELECT * FROM .$_POST[select_Nom_Tables] LIMIT 20") or die (mysql_error());
echo '<form action="MettreAJour.php?NbLignes='.mysql_num_rows($query).'" method="post" name="frmSaisie" id="frmSaisie">';

il faut donc aussi mettre le /table après /form pour respecter l'imbrication des structures
0

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

Posez votre question
beegees Messages postés 102 Statut Membre 7
 
Bonjour,

Merci pour ta réponse.

Il faut que je crée le lien après la boucle alors ?

beegees
-1
beegees Messages postés 102 Statut Membre 7
 
Re,

Si je bouge le form, une partie du code ne va plus être dedans alors ?

Tu peux pas me montrer un exemple stp ?

Merci encore pour ton aide.
-1
beegees Messages postés 102 Statut Membre 7
 
Bonjour,

Merci pour ta réponse.

Il faut que je crée le lien après la boucle alors ?

beegees
-1
beegees Messages postés 102 Statut Membre 7
 
Mais ce n'est pas un lien, c'est une valeur envoyée avec le form :

echo '<form action="MettreAJour.php?NbLignes='.$compteur.'" method="post" name="frmSaisie" id="frmSaisie">';

La valeur est NbLignes

Merci
-1
beegees Messages postés 102 Statut Membre 7
 
Super, ça marche.

Merci beaucoup pour ta patience et pour le temps que tu m'as consacré.

beegees
-1