Problème de récupération de données de ma BDD
-RoRo-
Messages postés
103
Statut
Membre
-
-RoRo- Messages postés 103 Statut Membre -
-RoRo- Messages postés 103 Statut Membre -
Bonjour, J'ai créé un tableau reprennant toutes les données d'une table d'une base de données. Dans une colonne du tableau nommée "Pseudos", se trouve la liste des pseudos. Ces peudos sont cliquables afin d'envoyer le nom du pseudo à un fchier ChangeDataSecond.php. Dans ce fichier, j'ai une ligne permettant de récupérer la valeur :
$recup=$_POST['ID'];
Le problème est le suivant :
Tous les liens dans la colonne "Pseudos" envoyent la même valeur. Et pourtant, j'ai créer une variable unique pour chaque Pseudo !!!
Mon script :
<?php
$var="0";
while ($tab = mysql_fetch_array($result))
{
$identifiant=$tab[Identifiants];
...
..
.
$var++;
$$var=$identifiant;
echo "$var";
?>
<form id='formulaire' name='formulaire' method='post' action='ChangeDataSecond.php'>
<td><center><a href="javascript:document.forms['formulaire'].submit();"><input type="hidden" name="ID" value=<?php echo "$var"; ?>><?php echo "$var"; ?></a></center></td>
....
...
..
.
</tr>
<form name='formulaireModification' method='post' action='ChangeDataSecond.php'>
<?php
}
?>
</form></TABLE>
POUVEZ VOUS M'AIDER SVP ???
$recup=$_POST['ID'];
Le problème est le suivant :
Tous les liens dans la colonne "Pseudos" envoyent la même valeur. Et pourtant, j'ai créer une variable unique pour chaque Pseudo !!!
Mon script :
<?php
$var="0";
while ($tab = mysql_fetch_array($result))
{
$identifiant=$tab[Identifiants];
...
..
.
$var++;
$$var=$identifiant;
echo "$var";
?>
<form id='formulaire' name='formulaire' method='post' action='ChangeDataSecond.php'>
<td><center><a href="javascript:document.forms['formulaire'].submit();"><input type="hidden" name="ID" value=<?php echo "$var"; ?>><?php echo "$var"; ?></a></center></td>
....
...
..
.
</tr>
<form name='formulaireModification' method='post' action='ChangeDataSecond.php'>
<?php
}
?>
</form></TABLE>
POUVEZ VOUS M'AIDER SVP ???
A voir également:
- Problème de récupération de données de ma BDD
- Fuite données maif - Guide
- Logiciel de récupération de données - Guide
- Effacer les données de navigation sur android - Guide
- Convertisseur récupération de texte - Guide
- Exemple base de données access à télécharger gratuit - Forum Access
13 réponses
Déjà tu n'as pas corrigé les diverses erreurs que je t'ai indiquées.. Donc même si la structure était bonne ça ne fonctionnerait pas..
Salut, j'ai pas compris où se situati le pb mais il y a des fautes là :
$var = 0;
$$var = $identifiant sort d'où ?
formulaire dans ta boucle ?
echo $var;
$var = 0;
$$var = $identifiant sort d'où ?
formulaire dans ta boucle ?
echo $var;
SALUT et MERCI !
$identifiant=$tab[Identifiants];
-->Je récupère à chaque tours dans ma boucle le nom de l'identifiant. Je me suis trompé, la colonne s'intitule Indentifiants et non pseudos.
$var++; //premier tour, $var=1
$$var=$identifiant //premier tour, création de $1 avec affectation de $identifiant
--> Permet de créer une variable à chaque tours.
$var++;
$$var=$identifiant;
RESULTATS :
$1 se voit donc affecter la première valeur de l'idendentifiant de ma table de ma BDD
$2 se voit donc affecter la deuxième valeur de l'idendentifiant de ma table de ma BDD
$3 se voit donc affecter la troisième valeur de l'idendentifiant de ma table de ma BDD
etc
PS : "echo $var;" oublie le, c'était pour un essai
$identifiant=$tab[Identifiants];
-->Je récupère à chaque tours dans ma boucle le nom de l'identifiant. Je me suis trompé, la colonne s'intitule Indentifiants et non pseudos.
$var++; //premier tour, $var=1
$$var=$identifiant //premier tour, création de $1 avec affectation de $identifiant
--> Permet de créer une variable à chaque tours.
$var++;
$$var=$identifiant;
RESULTATS :
$1 se voit donc affecter la première valeur de l'idendentifiant de ma table de ma BDD
$2 se voit donc affecter la deuxième valeur de l'idendentifiant de ma table de ma BDD
$3 se voit donc affecter la troisième valeur de l'idendentifiant de ma table de ma BDD
etc
PS : "echo $var;" oublie le, c'était pour un essai
J'ai corrigé qq petites choses :
<td style="text-align: center;">
<a href="javascript:document.forms['formulaire'].submit();">
<input type="hidden" name="ID" value="<?php echo $var; ?>" />
<?php echo $var; ?></a>
</td>
<td style="text-align: center;">
<a href="javascript:document.forms['formulaire'].submit();">
<input type="hidden" name="ID" value="<?php echo $var; ?>" />
<?php echo $var; ?></a>
</td>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je réécrie mon script proprement :
<?php
$var="0";
while ($tab = mysql_fetch_array($result))
{
$identifiant=$tab[Identifiants];
...
..
.
$var++;
$$var=$identifiant;
?>
<form id='formulaire' name='formulaire' method='post' action='ChangeDataSecond.php'>
<td><center><a href="javascript:document.forms['formulaire'].submit();"><input type="hidden" name="ID" value=<?php echo "$var"; ?>><?php echo "$var"; ?></a></center></td>
....
...
..
.
</tr>
</form>
<?php
}
?>
</form></TABLE>
<?php
$var="0";
while ($tab = mysql_fetch_array($result))
{
$identifiant=$tab[Identifiants];
...
..
.
$var++;
$$var=$identifiant;
?>
<form id='formulaire' name='formulaire' method='post' action='ChangeDataSecond.php'>
<td><center><a href="javascript:document.forms['formulaire'].submit();"><input type="hidden" name="ID" value=<?php echo "$var"; ?>><?php echo "$var"; ?></a></center></td>
....
...
..
.
</tr>
</form>
<?php
}
?>
</form></TABLE>
Je me suis rendu compte dans ma boucle "while" que je ne créais pas de variables. Je Changer tout simplement le nom de la variable du N-1 tours.
Voici ma question :
Je souhaite générer des variables afin d'obtenir plusieurs variables différentes Et dans chacunes de ces variables, une donnée de ma base de données sera affectée.
Comment créer une variable svp ?
Voici ma question :
Je souhaite générer des variables afin d'obtenir plusieurs variables différentes Et dans chacunes de ces variables, une donnée de ma base de données sera affectée.
Comment créer une variable svp ?
slt
ok essaie ça voir
je ne sais pas si c'est un truc pareil que t'as besoin si ce n'est pas le cas essaie de mieux expliquer car ta methode de créer n formulaire dynamiquement et avec le même nom, je ne la comprend pas très bien et je me dit que le navigateur peut s'embrouiller lors de l'envoie car il executer la methode submit du formulaire 'fomulaire' or il y'a n formulaire ayant ce nom
dlt.
ok essaie ça voir
<table>
...
..
.
<?php
// Execution de la requete
while ($tab = mysql_fetch_array($result))
{
$identifiant=$tab['Identifiants'];
echo '<tr>';
echo '<td>';
echo '<a href= "ChangeDataSecond.php?ID="'.$identifiant.'>'.$identifiant.'</a>';
echo '</td>';
echo '</tr>';
}
?>
</TABLE>
je ne sais pas si c'est un truc pareil que t'as besoin si ce n'est pas le cas essaie de mieux expliquer car ta methode de créer n formulaire dynamiquement et avec le même nom, je ne la comprend pas très bien et je me dit que le navigateur peut s'embrouiller lors de l'envoie car il executer la methode submit du formulaire 'fomulaire' or il y'a n formulaire ayant ce nom
dlt.
Merci pour ta participation ! Mais le problème, c'est que je dois récupérer la valeur de $identifiant dans ChangeDataSecond.php
J'ai essayé une autre méthode : insérer les données dans un tableau. Hélas, ça ne fonctionne toujours pas :
<?php
....
...
..
..
$nbResults = mysql_num_rows($result);
echo "Comptes : $nbResults ";
$i="0";
$cases="\"0\",";
While ($i<$nbResults)
{
$i++;
$add="\"$i\",";
$caseNew=$cases.$add;
}
$a=$caseNew;
$tableGet=array($a);
$i=0;
while ($tab = mysql_fetch_array($result))
{
$i++;
$identifiant=$tab[Identifiants];
$tableGet[$i]=$identifiant;
?>
<td><center><a href="javascript:document.forms['formulaire'].submit();"><input type="hidden" name="ID" value=<?php echo "$tableGet[$i]"; ?>><?php echo "$tableGet[$i]"; ?></a></center></td>
</tr>
</form>
<?php
}
?>
Salut, j'ai oublié de te dire que ta solution ne fonctionnait pas.
Sinon, j'ai réussi à voir le problème plus facilement,
regardes ceci :
<?php
$i=0;
while ($i<6)
{
$i++;
?>
<a href="javascript:document.forms['formulaire'].submit();"><input type="hidden" name="ID" value=<?php echo "$tableGet[$i]"; ?>><?php echo "$tableGet[$i]"; ?><br>
<?php
}
?>
RESULTAT :
1
2
3
4
5
6
Tous ces liens (1, 2, 3...) envoient la même valeur, soit la dernière valeur de i (=6).
Alors que le lien nommé 1 doit envoyé 1 par exemple.
le lien nommé 2 doit envoyé 2
le lien nommé 3 doit envoyé 3
le lien nommé 4 doit envoyé 4
ça fait une journée que je suis dessus !
Sinon, j'ai réussi à voir le problème plus facilement,
regardes ceci :
<?php
$i=0;
while ($i<6)
{
$i++;
?>
<a href="javascript:document.forms['formulaire'].submit();"><input type="hidden" name="ID" value=<?php echo "$tableGet[$i]"; ?>><?php echo "$tableGet[$i]"; ?><br>
<?php
}
?>
RESULTAT :
1
2
3
4
5
6
Tous ces liens (1, 2, 3...) envoient la même valeur, soit la dernière valeur de i (=6).
Alors que le lien nommé 1 doit envoyé 1 par exemple.
le lien nommé 2 doit envoyé 2
le lien nommé 3 doit envoyé 3
le lien nommé 4 doit envoyé 4
ça fait une journée que je suis dessus !
Finallement, j'ai du travailler avec la méthode GET. Je n'ai pas d'autres solutions. Par contre, je ferai un cryptage lors de l'envoi avec la méthode GET. Voici mon script :
<?php
while ($tab = mysql_fetch_array($result))
{
$identifiant=$tab[Identifiants];
...
..
.
?>
....
...
..
</tr>
<td><center><a href="ChangeDataSecond.php?ID=<?php echo $identifiant;?>"><?php echo "$tableGet[$i]"; ?></center>
</td>
<?php
}
?>
</form></TABLE>
et dans mon fichier DataChangeSecond :
<?php
$recup=$_GET['ID'];
echo "$recup";
......
....
..
.
<?php
while ($tab = mysql_fetch_array($result))
{
$identifiant=$tab[Identifiants];
...
..
.
?>
....
...
..
</tr>
<td><center><a href="ChangeDataSecond.php?ID=<?php echo $identifiant;?>"><?php echo "$tableGet[$i]"; ?></center>
</td>
<?php
}
?>
</form></TABLE>
et dans mon fichier DataChangeSecond :
<?php
$recup=$_GET['ID'];
echo "$recup";
......
....
..
.
J'AI TROUVÉ LA SOLUTION SEUL AU BOUT DE 1.5 JOURS !!!!
!!! YOUPI !!!
Voici la solution si ça peut aider certains d'entres vous :
Page d'envoi :
page de récupération :
!!! YOUPI !!!
Voici la solution si ça peut aider certains d'entres vous :
Page d'envoi :
<html>
<?php
.....
...
..
.
$nbResults = mysql_num_rows($result);
echo "Comptes : $nbResults ";
$i="1";
$cases="1";
?>
<TABLE BORDER=1><tr>
<th><center>Pseudos</center></th>
<th><center>Instruments</center></th>
<th><center>Prénoms</center></th>
<th><center>Noms</center></th>
<th><center>Mots de passe</center></th>
<th><center>Adresses mail</center></th>
<?php
While ($i<$nbResults)
{
$i++;
$add=",$i";
$caseNew=$cases.$add;
$cases=$caseNew;
}
$a=$caseNew;
$tableGet=array($a);
$i=0;
while ($tab = mysql_fetch_array($result))
{
$identifiant=$tab[Identifiants];
$instrument=$tab[Instruments];
$nom=$tab[Noms];
$prenom=$tab[Prenoms];
$password=$tab[Passwds];
$adressemail=$tab[AdrsMail];
$tableGet[$i]=$identifiant;
?>
<form name="<?php echo $i; ?>" method="post" action="ChangeDataSecond.php">
<tr>
<td><a href="javascript:document.forms['<?php echo $i; ?>'].submit();"><input type="hidden" name="<?php echo $i; ?>" value="<?php echo $identifiant;?>" /><?php echo "$identifiant"; ?></href></input></a></td>
<td><center><?php echo "$instrument" ?></center></td>
<td><center><?php echo "$nom" ?></center></td>
<td><center><?php echo "$prenom" ?></center></td>
<td><center><?php echo "$password" ?></center></td>
<td><center><?php echo "$adressemail" ?></center></td>
</tr>
</form>
<?php
$i++;
}
mysql_close();
...
..
.
?>
</table>
</html>
page de récupération :
<?php
...
..
.
while ($i<$nbResults)
{
$recup=$_POST[$i];
if (isset($_POST[$i]))
{
$recup=$_POST[$i];
break;
}
$i++;
}
$getID=$recup;
....
..
...
?>