Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1946 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[PHP] savoir si un champs est vide ou pas...

n°495926
mrbebert
Posté le 24-08-2003 à 19:55:06  profilanswer
 

Reprise du message précédent :
Tes colonnes date_naissance, elles sont de type DATE ? Dans ce cas, les valeurs passées sont pas correctes. Idem pour le code postal si tu l'as défini en entier.


Message édité par mrbebert le 24-08-2003 à 19:55:16
mood
Publicité
Posté le 24-08-2003 à 19:55:06  profilanswer
 

n°495928
KdZ'
Simple®
Posté le 24-08-2003 à 19:57:37  profilanswer
 

toutes mes colonnes sont de type varchar 255, (pour le moment) et pour mes test, dans les champs du formulaire, je n'utilise que des lettres  ;)

n°495932
KdZ'
Simple®
Posté le 24-08-2003 à 19:59:03  profilanswer
 

voila la page qui enregistre :
 

Code :
  1. <?php
  2. // CONNEXION & SELECTION DE LA BDD
  3. require('connexion.php');
  4. // SELECTION DE LA TABLE
  5. $sql = ("INSERT INTO 'membres' (nom, prenom, date_naissance_2, date_naissance_3, date_naissance_1, adresse_1, adresse_2, adresse_3, ville, code_postal, tel_fixe, tel_portable, email, statut) VALUES ('$nom', '$prenom', '$date_naissance_2', '$date_naissance_3', '$date_naissance_1', '$adresse_1', '$adresse_2', '$adresse_3', '$ville', '$code_postal', '$tel_fixe', '$tel_portable', '$email', '$statut')" );
  6. mysql_query('$sql') or die ('Erreur, la fiche n\'a pas pu être sauvegardée !');
  7. print("Membre enregistré !<br /><br /><a href=\"inscription_membre.php\">NOUVEAU MEMBRE</a><br /><a href=\"membres.php\">LISTE DES MEMBRES</a>" );
  8. ?>


Message édité par KdZ' le 24-08-2003 à 19:59:50
n°495933
mrbebert
Posté le 24-08-2003 à 19:59:34  profilanswer
 

passe cette requête directement dans phpmyadmin, pour voir le message d'erreur.

n°495937
KdZ'
Simple®
Posté le 24-08-2003 à 20:00:20  profilanswer
 

mrBebert a écrit :

passe cette requête directement dans phpmyadmin, pour voir le message d'erreur.


 
carrement, c pas con, je vais essayer de suite...

n°495941
KdZ'
Simple®
Posté le 24-08-2003 à 20:05:29  profilanswer
 

Erreur
 
requête SQL :  
 
INSERT INTO 'membres' (nom, prenom, date_naissance_2, date_naissance_3, date_naissance_1, adresse_1, adresse_2, adresse_3, ville, code_postal, tel_fixe, tel_portable, email, statut) VALUES ('hgfduj', 'ujgfd', 'vv', 'vvvv', 'vv', 'adpr', 'addeux', 'adtrois', 'jddfg', 'codeppp', 'gfd', 'hfdfdh', 'mail', 'Membre')
 
MySQL a répondu:
 
Something is wrong in your syntax près de ''membres' (nom, prenom, date_naissance_2, date_naissance_3, date' à la ligne 1
 
 
alors là je vois pas où peut bien etre l'erreur  :pfff:  :pfff:  :pfff:


Message édité par KdZ' le 24-08-2003 à 20:06:12
n°495945
KdZ'
Simple®
Posté le 24-08-2003 à 20:08:24  profilanswer
 

c bon ça à bien marcher  :pt1cable:
 
mais via le formulaire, ça ne fonctionne toujours pas  :heink:  
l'erreur vient donc de là (ou de la page formulaire ?) :

Code :
  1. <?php
  2. // CONNEXION & SELECTION DE LA BDD
  3. require('connexion.php');
  4. // SELECTION DE LA TABLE
  5. $sql = ("INSERT INTO membres (nom, prenom, date_naissance_2, date_naissance_3, date_naissance_1, adresse_1, adresse_2, adresse_3, ville, code_postal, tel_fixe, tel_portable, email, statut) VALUES ('$nom', '$prenom', '$date_naissance_2', '$date_naissance_3', '$date_naissance_1', '$adresse_1', '$adresse_2', '$adresse_3', '$ville', '$code_postal', '$tel_fixe', '$tel_portable', '$email', '$statut')" );
  6. mysql_query('$sql') or die ('Erreur, la fiche n\'a pas pu être sauvegardée !');
  7. print("Membre enregistré !<br /><br /><a href=\"inscription_membre.php\">NOUVEAU MEMBRE</a><br /><a href=\"membres.php\">LISTE DES MEMBRES</a>" );
  8. ?>


Message édité par KdZ' le 24-08-2003 à 20:15:59
n°495954
KdZ'
Simple®
Posté le 24-08-2003 à 20:20:49  profilanswer
 

arf c pas trop tot que je trouve :
 
mysql_query("$sql" )
et non pas
mysql_query('$sql')
 
merci bebert  :jap:

n°495958
mrbebert
Posté le 24-08-2003 à 20:23:26  profilanswer
 

mysql_query($sql) est encore mieux :)

n°495966
KdZ'
Simple®
Posté le 24-08-2003 à 20:36:25  profilanswer
 

mrBebert a écrit :

mysql_query($sql) est encore mieux :)  


 
c partit :)
merci ;)
 
tiens, sinon, pour les champs telephone code postal (numerique only) j'ai mis les champs (dnas la bdd) en TINYINT, mais le pb c'est que si le champs (dnas le forumulaire) n'est pas renseigner, il met met des "0" à la place  :fou:  
j'ai essayer de mettre NULL à la place de notnull mais c pareil :sarcastic:


Message édité par KdZ' le 24-08-2003 à 20:38:35
mood
Publicité
Posté le 24-08-2003 à 20:36:25  profilanswer
 

n°495977
mrbebert
Posté le 24-08-2003 à 20:43:47  profilanswer
 

si tu as '' dans ta requête, il va mettre 0 (en fait, la valeur par défaut) pour les champs entiers. Si tu veux vraiment un NULL, il faut mettre NULL dans la requête.
 
Un tinyint, ca va de -128 à 127 (ou 0->255 pour un unsigned tinyint), ca risque d'être limite pour stocker un numéro de téléphone [:figti]


Message édité par mrbebert le 24-08-2003 à 20:45:06
n°495979
KdZ'
Simple®
Posté le 24-08-2003 à 20:50:10  profilanswer
 

ça risque d'être limite ? un numéros fait -de 20 caracteres...
je pige pas là :??:

n°495981
mrbebert
Posté le 24-08-2003 à 20:52:28  profilanswer
 

c'est un entier, pas une chaine de caractères. Donc il peut stocker des valeurs seulement entre 2 bornes.
Un numéro de téléphone à 10 chiffres, ca fait un entier qui dépasse largement 256 [:figti]  
 
Ou alors, tu le définis sur une chaine de 10 caractères.

n°495988
KdZ'
Simple®
Posté le 24-08-2003 à 21:04:51  profilanswer
 

a oki, j'ai donc mis un SMALLINT  :jap:

n°495990
KdZ'
Simple®
Posté le 24-08-2003 à 21:05:35  profilanswer
 

par contre j'essaye d'afficher la plus haute valeur du champs idi et rien ne s'affiche :

Code :
  1. // SELECTION DE LA TABLE
  2. mysql_query("SELECT * FROM membres" ) or die ("erreur requete" );
  3. //AFFICHAGE DU RESULTAT
  4. $id = "mysql_last_insert_id(id)";
  5. print("ID de cette fiche : $id" );


Message édité par KdZ' le 24-08-2003 à 21:07:01
n°496003
mrbebert
Posté le 24-08-2003 à 21:15:41  profilanswer
 

pourquoi tu mets tes fonctions entre "" :heink:  
 
De plus, mysql_insert_id() ne fonctionne qu'après une insertion (regarde la doc).

n°496004
KdZ'
Simple®
Posté le 24-08-2003 à 21:16:46  profilanswer
 

oué, mais la doc ne dit pas comment recuperer la plus haut valeur d'un champs comme le mien (id)

n°496031
mrbebert
Posté le 24-08-2003 à 21:29:21  profilanswer
 

c'est du SQL :
SELECT MAX(id) AS max_id FROM ....
ca te renvoie une colonne intitulée max_id contenant le maximum de la colonne id

n°496038
KdZ'
Simple®
Posté le 24-08-2003 à 21:32:31  profilanswer
 

du coup j'ai bidouiller et ça fonctionne ;)

Code :
  1. $resultat = mysql_query("SELECT id FROM membres ORDER BY id DESC" ) or die ("erreur requete" );
  2. $row = mysql_fetch_row($resultat);
  3. //AFFICHAGE DU RESULTAT
  4. $id = ($row[0]+1);
  5. print("$id" );


Message édité par KdZ' le 24-08-2003 à 21:32:51
n°496915
ACut
Posté le 25-08-2003 à 14:55:28  profilanswer
 

gizmo a écrit :

hum... chui pas bien réveillé.
 
Par contre, le code là est ultra lourd.
un simple row[x] ? echo row[x] : echo '&nbsp;' suffit.


Tu voulais dire

Code :
  1. echo ( row[x] ? row[x] : "&nbsp;" ) ;


pas vrai?


---------------
NOUVEAU! Le guide de l'édition en version ebook : http://marcautret.free.fr/autret/150q-ebook/
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Topic sur les livres PHP / MYSQL + opinions[PHP]Fermer une fenêtre :$
[MySQL] Astuce pour qu'un count( ) vide retourne la valeur 0 ?[ MySql ] Problème "Table inexistante" ou "Champs pas dans field list"
[PHP] Je cherche 2 scripts ou bien 2 aides (Gestion fichiers/images)[Latex] Environnement vide
[PHP] ereg...tout simple...Ressources nécéssaires pour du PHP & MySQL?
[API] Comment savoir si la queue d'impression est vide ou non ? 
Plus de sujets relatifs à : [PHP] savoir si un champs est vide ou pas...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR