Problème d'envoi avec un formulaire

Résolu
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008 - 26 janv. 2006 à 02:12
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008 - 26 janv. 2006 à 14:40
Salut à tous,
Voici mon problème......2 pages PHP,
la 1ère "clients.php" affiche un petit formulaire sous forme de liste déroulante avec les noms du champ "nom" de ma base, et une fonction POST sur la 2ème page.
La 2ème "liste_clients.php" devrait recevoir les données et les afficher....mais NON.

"clients.php"

<?php
include "connexion.inc.php";
?>
<form method= 'POST' action='liste_clients.php'>
<select name='nom' >
<option value=' '></option>
<?php
$requete = "SELECT nom FROM clients";
$resultat = mysql_query($requete);
while ($ligne = mysql_fetch_array($resultat))
{
echo '<option value="'.$ligne['id'].'">'.$ligne['nom'].'</option> ';
}
?>
</select>

</form>

" liste_clients.php "

<?php
if(!isset($_POST['nom']) OR !is_numeric($_POST['nom']))
{
exit;
}
$requete = 'SELECT id,type,nom,prenom,tel,portable,email FROM clients WHERE id='.$_POST['nom'];
$resultat = mysql_query($requete);
while ($actu = mysql_fetch_row($resultat))
{
?>
<tr class="police1">
<td><?php echo $actu[1]; ?></td>
<td><?php echo $actu[2]; ?></td>
<td><?php echo $actu[3]; ?></td>
<td><?php echo $actu[4]; ?></td>
<td><?php echo $actu[5]; ?></td>
<td><?php echo $actu[6]; ?></td>
<td><?php echo '[affiche_clients.php?fiche=' . $actu[0] . ' ';
?>Afficher]</td>
<td><?php echo '[ajout_clients.php?modifier_clients=' . $actu[0] . ' ';
?>Modifier]</td>
<td><?php echo '[liste_clients.php?supprimer_clients=' . $ractu[0] . ' ';
?>Supprimer]</td>
<?php
}
?>
Voilà.........mais rien ne s'affiche, je suis ouvert à toutes propositions.

17 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 janv. 2006 à 14:09
ah heu lol:
or die ('Erreur['.mysql_errno().'] => '.mysql_error());

désolé.
3
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
26 janv. 2006 à 08:54
$requete = "SELECT nom FROM clients";
$resultat = mysql_query($requete);
while ($ligne = mysql_fetch_array($resultat))
{
echo '<option value="'.$ligne['id'].'">'.$ligne['nom'].'</option> ';

la tu utilises $ligne['id'] mais tu ne recuperes que le NOM (SELECT nom FROM clients)

déjà essaie "SELECT * FROM clients" pour recuperer le 'id'
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 janv. 2006 à 09:22
Hello,

Jamais de SELECT *.
Ceci dit, Sidf a raison. Sélectionnes aussi ton id.
0
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008
26 janv. 2006 à 12:02
Merci pour vos réponses.....mais j'ai essayé avec

"SELECT * FROM clients" et "SELECT id,nom FROM clients"

Mais j'ai une erreur dans la page de réception "liste_clients.php"


Warning: mysql_fetch_row(): supplied argument is not a valid MySQL
result resource in c:\program files\easyphp1-8\www\vesta log\
liste_clients.php on line 43

La ligne 43 c'est : while ($actu = mysql_fetch_row($resultat))
0

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

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 janv. 2006 à 12:19
Il parlait de ta requête dans clients.php, pas dans la liste...celle de ta liste est ok.
C'est celle du client qui n'est pas bonne.
0
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008
26 janv. 2006 à 12:30
J'avais bien compris, j'ai fais les changements dans "clients",
mais lorsque je lance l'application j'ai ce message dans la page
d'arrivée....
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 janv. 2006 à 12:47
$requete = 'SELECT id,type,nom,prenom,tel,portable,email FROM clients WHERE id='.$_POST['nom'];

tu compares l'id avec le nom...?

$requete = 'SELECT id,type,nom,prenom,tel,portable,email FROM clients WHERE id='.$_POST['id'];
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 janv. 2006 à 12:49
J'ai rien dit, ton select s'appelle bien 'nom'.

heu, remets ton code avec les corrections stp, qu'on y voit clair :-)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 janv. 2006 à 12:50
et sio ça ne marche pas, dans ta liste, fais un echo de ta requête, copie là, et colle là dans phpmyadmin pour voir ce qu'il te renvoie.
0
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008
26 janv. 2006 à 12:56
"clients.php"

<?php
include "connexion.inc.php";
?>
<form method= 'POST' action='liste_clients.php'>
<select name='nom' >
<option value=' '></option>
<?php
$requete = "SELECT id,nom FROM clients";
$resultat = mysql_query($requete);
while ($ligne = mysql_fetch_array($resultat))
{
echo '<option value="'.$ligne['id'].'">'.$ligne['nom'].'</option> ';
}
?>
</select>

</form>

" liste_clients.php "

<?php
if(!isset($_POST['nom']) OR !is_numeric($_POST['nom']))
{
exit;
}
$requete = 'SELECT id,type,nom,prenom,tel,portable,email FROM clients WHERE id='.$_POST['nom'];
$resultat = mysql_query($requete);
while ($actu = mysql_fetch_row($resultat))
{
?>
<tr class="police1">
<td><?php echo $actu[1]; ?></td>
<td><?php echo $actu[2]; ?></td>
<td><?php echo $actu[3]; ?></td>
<td><?php echo $actu[4]; ?></td>
<td><?php echo $actu[5]; ?></td>
<td><?php echo $actu[6]; ?></td>
<td><?php echo '[affiche_clients.php?fiche=' . $actu[0] . ' ';
?>Afficher]</td>
<td><?php echo '[ajout_clients.php?modifier_clients=' . $actu[0] . ' ';
?>Modifier]</td>
<td><?php echo '[liste_clients.php?supprimer_clients=' . $ractu[0] . ' ';
?>Supprimer]</td>
<?php
}
?>

Pour ta suggestion, désolé mais je ne connais pas ce genre de manip ???
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 janv. 2006 à 12:59
Ok, ici :
$requete = 'SELECT id,type,nom,prenom,tel,portable,email FROM clients WHERE id='.$_POST['nom'];

tu ajoutes après cette ligne :
echo $requete;

et tu nous donnes ce que tu obtiens.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 janv. 2006 à 13:00
Heu, je remlarque un truc, pourquoi tu n'as pas cette ligne :
include "connexion.inc.php";

dans ta page list_clients.php...?
Parce que les connexions à une bdd sont fermées quand tu changes de page.
Tu dois encore redonner tes paramètres de connexion.
0
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008
26 janv. 2006 à 13:08
Le include "connexion.inc.php"; est bien dans la page "liste_client;php
je l'ai pas noté pour éviter de faire trop long.....désolé !

Voilà ce que donne l'echo de la requete

SELECT id,type,nom,prenom,tel,portable,email FROM clients WHERE id=2
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\vesta log\liste_clients.php on line 46
</TR>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 janv. 2006 à 13:14
tu as phpmyadmin ?
Tu copies cette requete dans phpmyadmin (onglet SQL, après avoir sélectionné ta base).

id est bien un champ de type int ?

Fais aussi ceci :

$requete = 'SELECT id,type,nom,prenom,tel,portable,email FROM clients WHERE id='.$_POST['nom']; $resultat mysql_query($requete) or die (Erreur[.mysql_erno().']> '.mysql_error());
0
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008
26 janv. 2006 à 13:27
J'ai effectué la requete sur phpmyadmin, pas de problème, il m'affiche bien les champs correspondant à l'id;

voilà le message d'erreur que j'ai maintenant :

Parse error: parse error in c:\program files\easyphp1-8\www\vesta log\liste_clients.php on line 42

"liste_clients.php"

<?php
if(!isset($_POST['nom']) OR !is_numeric($_POST['nom']))
{
exit;
}
$requete = 'SELECT id,type,nom,prenom,tel,portable,email FROM clients WHERE id='.$_POST['nom'];
$resultat = mysql_query($requete);
while ($actu = mysql_fetch_row($resultat))
{
?> <------------ La ligne 42 est là
0
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008
26 janv. 2006 à 13:46
NON PARDON

<?php
if(!isset($_POST['nom']) OR !is_numeric($_POST['nom']))
{
exit;
}
$requete = 'SELECT id,type,nom,prenom,tel,portable,email FROM clients WHERE id='.$_POST['nom'];
------------------------------------------------------------------------------------------------------------------- $resultat mysql_query($requete) or die (Erreur[.mysql_erno().']> '.mysql_error());
---------------------------------- elle est là-------------------------------------------------------------------
while ($actu = mysql_fetch_row($resultat))
{
?>
0
darkwisk Messages postés 42 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 1 décembre 2008
26 janv. 2006 à 14:40
Super ça marche un grand merci à toi malalam

Génial ce forum........
0