rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Problème recupération de valeur PHP

z.abdelhakim, le mercredi 4 juin 2008 à 10:54:07
Bonjour,

je suis débutant en programmation et
j'ai un gros problème, j'ai réaliser un script me permettant de donner son avis sur différentes marques
en fonction de certains critère figurant dans ma base de donné.
les zones de saisie sont créées dynamiquement à l'aide d'un boucle (WHILE) pour éviter de modifier le script
si de nouveau critères était ajouté a la base de données.

mon problème est le suivant:
- les noms de mes zones des textes sont des variables ( name=$moy / name=$com / name=$id)
et je ne sais pas comment faire pour récupérer les valeurs de ces zones de textes ($_POST['nomduchamp']...)
pour pouvoir les envoyer dans la BDD.

voici mon script permettant de donner son avis. Merci d'avance.


<html>
<head>
<!-- script permettant de calculer la moyenne des 4champs critères pour restituer
le resultat dans le champs "total" -->

<script type='text/javascript'>
function somme()
{
var note1 = isNaN(document.getElementById('1').value) ? 0 : document.getElementById('1').value;
var note2 = isNaN(document.getElementById('2').value) ? 0 : document.getElementById('2').value;
var note3 = isNaN(document.getElementById('3').value) ? 0 : document.getElementById('3').value;
var note4 = isNaN(document.getElementById('4').value) ? 0 : document.getElementById('4').value;
var total = (Number(note1) + Number(note2) + Number(note3)+ Number(note4))/4;

document.getElementById('total').value = total;
}
</script>
</head>
<body>

<?php
include('connexion.php');
$idfourn=$_REQUEST[''];
$req1="select * from criteres";
$res1=mysql_query($req1);
$logo="select logo from fournisseur where idfournisseur=1"; // la condition 'idfournisseu=1' a été mise en place pour réaliser un test
$com=a;
$moy=0;
$id=aa;
?>

<form name="avis" action="enregavis.php" method="POST" >
<table border="2">
<TR><td>votre pseudo:<input type="text" name="pseudo" id="pseudo" /><td/><TR/>
<TR align='center'>
<TD><?php echo "<img src='$logo'/>"?></TD>
<TD><TEXTAREA name="avis_maitre" rows="5" COLS="50"></TEXTAREA></TD>
<TD><input type="text" name="total" id="total" size="1"/></TD>
</TR>

<?php

// cette partie permet de créer des zone de saisie en fonction du nombre de critère
// que contient la base de donnée pour éviter de modifier le script si un nouveau critère est ajouté.

while($tab=mysql_fetch_array($res1))
{
++$moy;
echo ("<div class='criteres'>
<tr align='center'>
<td>".$tab["libelle"]."</a></td>
<td><TEXTAREA name=$com rows='2' COLS='50'></TEXTAREA></td>
<td><input type='text' name=$moy id=$moy size='1' onBlur='somme()'/></td>
<td><input type='hidden' name=$id value='".$tab['idcriteres']."' /></td>
</tr></div>");
++$id;
++$com;
}
?>
</table>
<input type="submit" value="valider votre avis">
</form>
</body>
</html>
Répondre à z.abdelhakim  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Mimiste, le mercredi 4 juin 2008 à 11:29:46
Salut,

pour t'aider a connaitre le nom des clés d'un tableau (ton tableau de $_POST dans ton cas) tu a la fonction array_keys

$cles = array_keys($_POST);

dans $cles tu aura donc un tableau contenant le nom des valeurs de ton formulaire exemple

un champ qui aurai ce nom :

<input type="text" name="truc">

coté php

<?PHP

$cles = array_keys($_POST);
echo $cles[0]; // affiche truc


?>
La sportivité commence là où le diesel s'arrête !
You can still watch this ? Wait until the Vtec kick in !
Répondre à Mimiste

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
z.abdelhakim, le mercredi 4 juin 2008 à 11:35:31
je vais essayer et je re-post dès que possible.
merci
Répondre à z.abdelhakim

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
z.abdelhakim, le mercredi 4 juin 2008 à 14:23:05
soit je n'arrive pas bien a utilisé array_keys ou alors,
je n'ai pas été clair lors de l'explication de mon problème, je recommence.

voici ce que je veux faire:
récupérer les valeurs des zones de saisies dynamiques dont les pour lesquels name=$com par exemple

<form name="avis" action="enregavis.php" method="POST" >
<table>
<?php
while($tab=mysql_fetch_array($res1))
{
++$moy;
echo ("<div class='criteres'>
<tr align='center'>
<td>".$tab["libelle"]."</a></td>
<td><TEXTAREA name=$com rows='2' COLS='50'></TEXTAREA></td>
<td><input type='text' name=$moy id=$moy size='1' onBlur='somme()'/></td>
<td><input type='hidden' name=$id value='".$tab['idcriteres']."' /></td>
</tr></div>");
++$id;
++$com;
}
?>
</table>
<input type="submit" value="valider votre avis">
</form>

lorsque que je valide, je suis envoyé vers le fichier enregavis.php, normalement si "name" avait pour valeur une chaine de caractère, il n'y aurai pas u de problème.
Mais dans le script si dessus "name" a pour valeur "une variable".

comment dois-je m'y prendre pour pour obtenir la valeur de la zone de saisie dans la page enregavis.php,
lorsque name=$com par exemple?

Merci
Répondre à z.abdelhakim

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Mimiste, le mercredi 4 juin 2008 à 19:56:30
voici une petite boucle qui t'affiche le nom de l'input ainsi que sa valeur quand justement on ne connais pas le nom

<?PHP

$cles = array_keys($_POST); //on recupere la liste des clé (les name des input)
$valeurs = array_values($_POST); //on recupere la liste des valeurs (value des input)

for ($i=0; $i<count($_POST); $i++) //Pour i de 0 a la fin du tableau de $_POST
{
	echo "<br><br>L'input de nom ".$cles[$i]." a pour valeur ".$valeurs[$i]."<br>";
}

?>


a partir de ça tu a une bonne base pour pouvoir construire tes requêtes dynamiquement
La sportivité commence là où le diesel s'arrête !
You can still watch this ? Wait until the Vtec kick in !
Répondre à Mimiste

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 z.abdelhakim, le mercredi 4 juin 2008 à 21:38:54
merci, j' y suis finalement arrivé
Répondre à z.abdelhakim
Logiciels pertinents trouvés dans les téléchargements
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger Valodas 1.20Valodas - La meilleure façon d'apprendre une nouvelle langue reste la lecture, sauf si vous avez la possibilité de vous rendre dans le...Catégorie: Environnement de travail
Licence: Freeware/gratuit
Télécharger PSPad 4.5.2PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,...Catégorie: Développement
Licence: Freeware/gratuit
Télécharger SoftPerfect File Recovery 1.2SoftPerfect File Recovery - SoftPerfect File Recovery (seulement 253 ko) permet de récupérer des fichiers effacés par inadvertance, même après vidage de...Catégorie: Sauvegarde
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « problème recupération de valeur PHP »