Formulaire mysql /php
Résolu/Fermé
eroselrey
Messages postés
9
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
4 novembre 2006
-
3 nov. 2006 à 10:40
meabdelouahed - 10 avril 2009 à 17:54
meabdelouahed - 10 avril 2009 à 17:54
A voir également:
- Formulaire mysql /php
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Formulaire de reclamation instagram - Guide
- Le formulaire rempli - Guide
9 réponses
P@
Messages postés
1709
Date d'inscription
vendredi 7 juillet 2000
Statut
Membre
Dernière intervention
24 mars 2009
185
3 nov. 2006 à 11:35
3 nov. 2006 à 11:35
tu as fait une page de traitement ???
Tu as bien mis une balise form avec l'action ???
Tu as fait quoi pour montrer le prix ??
Tu as bien mis une balise form avec l'action ???
Tu as fait quoi pour montrer le prix ??
eroselrey
Messages postés
9
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
4 novembre 2006
3 nov. 2006 à 11:55
3 nov. 2006 à 11:55
Oui j'ai mis sur :
<form action="Resultat_Dixair.php" method="post">
<SELECT NAME="compresseur">
<?
while($val=mysql_fetch_array($result))
{
echo "<OPTION VALUE='".$val["Compresseur"]."'>".$val["Compresseur"]."</option>";
...
Sur la seconde page pour afficher les résultats, je ne sais comment continuer
As tu une idée ?
Merci pour ton aide
<form action="Resultat_Dixair.php" method="post">
<SELECT NAME="compresseur">
<?
while($val=mysql_fetch_array($result))
{
echo "<OPTION VALUE='".$val["Compresseur"]."'>".$val["Compresseur"]."</option>";
...
Sur la seconde page pour afficher les résultats, je ne sais comment continuer
As tu une idée ?
Merci pour ton aide
P@
Messages postés
1709
Date d'inscription
vendredi 7 juillet 2000
Statut
Membre
Dernière intervention
24 mars 2009
185
3 nov. 2006 à 12:05
3 nov. 2006 à 12:05
dans Resultat_Dixair.php, tu récuperes les données de ton formulaire et tu les affiche comme tu le sent.
Si dans ton formulaire tu n'as que ta liste déroulante alors tu va recevoir le compresseur à toi de faire la requete en base pour aller en chercher le prix avec cette données. :D
Normalement, le bouton submit te renvoie sur la page d'action avec les données récolté par le formulaire
Si dans ton formulaire tu n'as que ta liste déroulante alors tu va recevoir le compresseur à toi de faire la requete en base pour aller en chercher le prix avec cette données. :D
Normalement, le bouton submit te renvoie sur la page d'action avec les données récolté par le formulaire
eroselrey
Messages postés
9
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
4 novembre 2006
3 nov. 2006 à 12:50
3 nov. 2006 à 12:50
Tu n'as pas un exemple par hasard ?
je débute...et je n'ai pas tout assimilé encore...
je débute...et je n'ai pas tout assimilé encore...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
P@
Messages postés
1709
Date d'inscription
vendredi 7 juillet 2000
Statut
Membre
Dernière intervention
24 mars 2009
185
3 nov. 2006 à 13:42
3 nov. 2006 à 13:42
tu créer ta page Resultat_Dixair.php
tu fais une requete du type
c'est plus clair ???
tu fais une requete du type
$cherchePrix = mysql_query("select prix, compresseur from matable where compresseur = $compresseur"); $quelPrix = mysql_num_rows($cherchePrix); for ($x=0;$x<$quelPrix;$x++){ $prix = mysql_result($cherchePrix,$x,'prix'); echo "le prix de $compresseur est $prix"; }
c'est plus clair ???
eroselrey
Messages postés
9
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
4 novembre 2006
3 nov. 2006 à 19:34
3 nov. 2006 à 19:34
En effet j'ai avancer...
mais j'ai toujours un petit souci : le programme m'annonce ceci :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
et je n'arrive pas a comprendre la formule for
Peux tu m'expliquer ?
Merci...vraiment désolé
mais j'ai toujours un petit souci : le programme m'annonce ceci :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
et je n'arrive pas a comprendre la formule for
Peux tu m'expliquer ?
Merci...vraiment désolé
eroselrey
Messages postés
9
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
4 novembre 2006
3 nov. 2006 à 22:34
3 nov. 2006 à 22:34
Bonsoir,
Quelqu'un a t'il une idée sur mon petit problème ?
Merci à tous
Quelqu'un a t'il une idée sur mon petit problème ?
Merci à tous
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
4 nov. 2006 à 19:07
4 nov. 2006 à 19:07
Bsr
En clair PHP t'indique que tu as passé à la fonction mysql_num_rows() un argument (un paramètre si tu préfères) qui ne correspond pas à une ressource MySQL.
Qu'est-ce qu'une ressource MySQL ?
C'est une variable d'un type bien particulier que créé PHP afin de
pouvoir identifier et manipuler des objets de différentes natures : fichiers ouverts, connexion à MySQL, résultats d'une requête etc ...
C'est la fonction mysql_query() qui te retourne normalement une ressource MySQL : attention cependant si la requête échoue mysql_query() ne retourne plus une ressource mais une FALSE donc une variable booléenne.
Et c'est ce qui se produit ici : $cherchePrix ne contient pas une ressource MySQL mais bien FALSE !!!!
Jusqu'ici ce n'est pas trop gênant.
Cependant lorsqu'ensuite PHP appelle la fonction mysql_num_rows($cherchePrix) : il se produit alors l'erreur à laquelle tu es confrontée .
L'origine de l'erreur est donc à rechercher dans l'instruction :
Bref en gros tu executes une requête non valide.
En effet si le champ compresseur est de type chaîne (string) dans ta table alors ajoute des apostrophes et écrit ceci :
j'espère aussi qu'avant d'utiliser $compresseur tu as bien pensé à écrire en PHP :
En effet toutes les variables passées par des formulaires via la méthodes "post" se retrouve dans le tableau $_POST[] prédéfini.
En aucun cas PHP n'initialisera directement pour toi la variable $compresseur ni aucune autre variable passée par POST : tu dois mettre le code ci-dessus.
Syntaxe pour for
Ex :
var $i;
for($i=0; $i <10; $i++)
{
// Instructions ...
}
Ce qui peut se traduire par : pour i de 0 à 9 par pas de 1 effectue toutes les instructions.
1 : $i=0
Signifie initialise la variable $i à zéro : n'est effectué qu'une seule fois au départ
2 : $i < 10
l'expression est évaluée à TRUE ou FALSE
si c'est vrai alors les instructions sont toutes exécutées
si c'est faux alors on sort de la boucle et le for est terminé
3 : $i++
cette expression est évaluée
normalement ici il faut faire varier $i sans quoi la boucle ne s'arrête jamais
$i++ est équivalent à $i=$i+1 donc on ajoute 1 à $i
Ensuite on retourne à l'étape 2 et ainsi de suite d'où le terme de boucle.
Est-ce plus clair ?
En clair PHP t'indique que tu as passé à la fonction mysql_num_rows() un argument (un paramètre si tu préfères) qui ne correspond pas à une ressource MySQL.
Qu'est-ce qu'une ressource MySQL ?
C'est une variable d'un type bien particulier que créé PHP afin de
pouvoir identifier et manipuler des objets de différentes natures : fichiers ouverts, connexion à MySQL, résultats d'une requête etc ...
C'est la fonction mysql_query() qui te retourne normalement une ressource MySQL : attention cependant si la requête échoue mysql_query() ne retourne plus une ressource mais une FALSE donc une variable booléenne.
Et c'est ce qui se produit ici : $cherchePrix ne contient pas une ressource MySQL mais bien FALSE !!!!
Jusqu'ici ce n'est pas trop gênant.
Cependant lorsqu'ensuite PHP appelle la fonction mysql_num_rows($cherchePrix) : il se produit alors l'erreur à laquelle tu es confrontée .
L'origine de l'erreur est donc à rechercher dans l'instruction :
$cherchePrix = mysql_query("select prix, compresseur from matable where compresseur = $compresseur");
Bref en gros tu executes une requête non valide.
En effet si le champ compresseur est de type chaîne (string) dans ta table alors ajoute des apostrophes et écrit ceci :
$cherchePrix = mysql_query("select prix, compresseur from matable where compresseur = '".$compresseur."'");
j'espère aussi qu'avant d'utiliser $compresseur tu as bien pensé à écrire en PHP :
$compresseur = ""; if (isset($_POST["compresseur"])) $compresseur =$_POST["compresseur"] ;
En effet toutes les variables passées par des formulaires via la méthodes "post" se retrouve dans le tableau $_POST[] prédéfini.
En aucun cas PHP n'initialisera directement pour toi la variable $compresseur ni aucune autre variable passée par POST : tu dois mettre le code ci-dessus.
Syntaxe pour for
Ex :
var $i;
for($i=0; $i <10; $i++)
{
// Instructions ...
}
Ce qui peut se traduire par : pour i de 0 à 9 par pas de 1 effectue toutes les instructions.
1 : $i=0
Signifie initialise la variable $i à zéro : n'est effectué qu'une seule fois au départ
2 : $i < 10
l'expression est évaluée à TRUE ou FALSE
si c'est vrai alors les instructions sont toutes exécutées
si c'est faux alors on sort de la boucle et le for est terminé
3 : $i++
cette expression est évaluée
normalement ici il faut faire varier $i sans quoi la boucle ne s'arrête jamais
$i++ est équivalent à $i=$i+1 donc on ajoute 1 à $i
Ensuite on retourne à l'étape 2 et ainsi de suite d'où le terme de boucle.
Est-ce plus clair ?
eroselrey
Messages postés
9
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
4 novembre 2006
4 nov. 2006 à 20:56
4 nov. 2006 à 20:56
Bonsoir,
Je te remercie enormement pour ce cours magistral.
Je vais allez vérifier cela des demain.
En tout cas ça me parle beaucoup plus.
Je te remercie PHP
;)
Je te remercie enormement pour ce cours magistral.
Je vais allez vérifier cela des demain.
En tout cas ça me parle beaucoup plus.
Je te remercie PHP
;)