A voir également:
- Affichage d'un résultat SQL avec formulaire (html/php/sql)
- Formulaire de réclamation facebook - Guide
- Editeur html - Télécharger - HTML
- Easy php - Télécharger - Divers Web & Internet
- Lexer resultat - Télécharger - Sport
- Logiciel sql - Télécharger - Bases de données
6 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
3 oct. 2013 à 09:52
3 oct. 2013 à 09:52
Salut,
Le résultat que tu vois en est bien un : c'est un tableau. Faire un echo sur un tableau affiche en effet "Array", si tu veux voir rapidement le contenu du tableau essaye de faire :
Comme tu l'as compris tu dois récupérer la valeur de ton tableau. Puisque que tu ne sélectionne qu'un seul champ dans ta requête sql, tu peux récupérer la valeur comme ceci :
Sinon quelques remarques en vrac :
- initialiser tes variables : tu vérifies bien que les variables $_POST venant du formulaire existe avec la fonction isset(), mais tu ne vérifies pas leurs contenu.
Si tes variables POST existe mais sont des chaines vides, ta requête sql sera incorrect et php renverra une erreur à l'exécution de cette requête.
- l'extension mysql est désormais dépréciée et vouée à disparaitre bientôt. Je te conseil d'utiliser l'extension mysqli à la place. En plus des avantages de cette extension (performance, moins de bug...), il te suffit juste de renommer tes fonctions mysql_*** par mysqli_*** :
mysql_connect() -> mysqli_connect()
mysql_query() -> mysqli_query()
ect...
- pour finir si tu souhaites sécuriser ton code, je te conseil de te renseigner à propos des injections sql mais c'est un autre sujet
Bon développement,
Le résultat que tu vois en est bien un : c'est un tableau. Faire un echo sur un tableau affiche en effet "Array", si tu veux voir rapidement le contenu du tableau essaye de faire :
var_dump($data);
Comme tu l'as compris tu dois récupérer la valeur de ton tableau. Puisque que tu ne sélectionne qu'un seul champ dans ta requête sql, tu peux récupérer la valeur comme ceci :
$data[0]
Sinon quelques remarques en vrac :
- initialiser tes variables : tu vérifies bien que les variables $_POST venant du formulaire existe avec la fonction isset(), mais tu ne vérifies pas leurs contenu.
Si tes variables POST existe mais sont des chaines vides, ta requête sql sera incorrect et php renverra une erreur à l'exécution de cette requête.
- l'extension mysql est désormais dépréciée et vouée à disparaitre bientôt. Je te conseil d'utiliser l'extension mysqli à la place. En plus des avantages de cette extension (performance, moins de bug...), il te suffit juste de renommer tes fonctions mysql_*** par mysqli_*** :
mysql_connect() -> mysqli_connect()
mysql_query() -> mysqli_query()
ect...
- pour finir si tu souhaites sécuriser ton code, je te conseil de te renseigner à propos des injections sql mais c'est un autre sujet
Bon développement,
Salut,
Merci beaucoup pour la réponse, ça fonctionne !!!!
Par contre j'ai tenté de remplacer mysql par mysqli mais je rencontre l'erreur suivante :
Je vais également me pencher sur les conditions IF pour vérifier si l'utilisateur a effectivement bien renseigné les champs et je vais étudier les injections SQL :-)
Encore merci
Merci beaucoup pour la réponse, ça fonctionne !!!!
Par contre j'ai tenté de remplacer mysql par mysqli mais je rencontre l'erreur suivante :
Fatal error: Call to undefined function mysqli_connect() in /mnt/113/sdb/e/3/aquanetpiscines/fonctions.php on line 3
Je vais également me pencher sur les conditions IF pour vérifier si l'utilisateur a effectivement bien renseigné les champs et je vais étudier les injections SQL :-)
Encore merci
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
3 oct. 2013 à 12:08
3 oct. 2013 à 12:08
Concernant l'erreur, tu es peut-être sur une ancienne version de php où l'extension mysqli n'était pas encore présente. Tu peux donc continuer à utiliser l'extension mysql.
Bonne journée
Bonne journée
Re,
C'est exactement ça j'ai vérifié la version php et elle n'est pas à jour, il s'agit d'un serveur free.fr donc je suis limité mais bon l'essentiel est là puisque grâce à toi mon résultat s'affiche.
Si je peux abuser de ta gentillesse j'ai une dernière question :
phpmyadmin intègre les dates au format yyyy-mm-dd. Pour l'une de mes pages, l'utilisateur rentre une date au format français dd/mm/yyyy et j'ai réussi à la transformer grâce à ce code php au format anglosaxon avant intégration dans la base :
ça fonctionne nikel !
Par contre sur la page de recherche pour laquelle tu m'as aidé à afficher mon résultat l'utilisateur est obligé de mettre la date au format anglosaxon sinon la requête sql échoue dans la mesure où la date n'est pas au bon format, j'ai essayé de transformer une nouvelle fois cette date mais pour cette page le code ne fonctionne pas, comment puis-je faire pour transformer la date au format anglosaxon avant la recherche dans la base SQL par ma requ$ete SELECT ?
Merci à toi !
C'est exactement ça j'ai vérifié la version php et elle n'est pas à jour, il s'agit d'un serveur free.fr donc je suis limité mais bon l'essentiel est là puisque grâce à toi mon résultat s'affiche.
Si je peux abuser de ta gentillesse j'ai une dernière question :
phpmyadmin intègre les dates au format yyyy-mm-dd. Pour l'une de mes pages, l'utilisateur rentre une date au format français dd/mm/yyyy et j'ai réussi à la transformer grâce à ce code php au format anglosaxon avant intégration dans la base :
$date = implode('-', array_reverse(explode('/', $date)));
ça fonctionne nikel !
Par contre sur la page de recherche pour laquelle tu m'as aidé à afficher mon résultat l'utilisateur est obligé de mettre la date au format anglosaxon sinon la requête sql échoue dans la mesure où la date n'est pas au bon format, j'ai essayé de transformer une nouvelle fois cette date mais pour cette page le code ne fonctionne pas, comment puis-je faire pour transformer la date au format anglosaxon avant la recherche dans la base SQL par ma requ$ete SELECT ?
Merci à toi !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
3 oct. 2013 à 14:29
3 oct. 2013 à 14:29
Si ta base de données gère les dates avec le formats yyyy-mm-dd et que l'utilisateur rentre la date en respectant ce format, tu n'as donc pas besoin de transformer cette date.
N'aurais tu pas pris le problème à l'envers ? Ou est-ce moi qui est mal compris ?
comment puis-je faire pour transformer la date au format anglosaxon ?
Tu viens de donner la réponse juste avant ;) :
Si tu souhaites faire l'inverse, transformer la date yyyy-mm-dd au format dd/mm/yyyy il te suffit de faire comme ceci :
N'aurais tu pas pris le problème à l'envers ? Ou est-ce moi qui est mal compris ?
comment puis-je faire pour transformer la date au format anglosaxon ?
Tu viens de donner la réponse juste avant ;) :
$date = implode('-', array_reverse(explode('/', $date)));
Si tu souhaites faire l'inverse, transformer la date yyyy-mm-dd au format dd/mm/yyyy il te suffit de faire comme ceci :
$date = implode('/', array_reverse(explode('-', $date)));
Bon bah désolé lol mais en effet il y avait simplement quelques petits loupés dans mon code mais le système implode explode marche bien désormais !!
Un grand merci !!!!!
Je pense maintenant m'attaquer à une tâche plus complexe mais je n'ai rien commencé, je reviendrai sur le forum en cas de besoin. Je pense faire un formulaire permettant cette fois de récupérer certaines données dans ma table SQL et de traduire ces résultats sous forme de graphique pour voir rapidement l'évolution d'une variable dans le temps.
Peut être un peu trop compliqué pour moi mais qui ne tente rien n'a rien !!
Un grand merci !!!!!
Je pense maintenant m'attaquer à une tâche plus complexe mais je n'ai rien commencé, je reviendrai sur le forum en cas de besoin. Je pense faire un formulaire permettant cette fois de récupérer certaines données dans ma table SQL et de traduire ces résultats sous forme de graphique pour voir rapidement l'évolution d'une variable dans le temps.
Peut être un peu trop compliqué pour moi mais qui ne tente rien n'a rien !!