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

  FORUM HardWare.fr
  Programmation
  PHP

  Problèmes d'insertion

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problèmes d'insertion

n°905457
samlon
Posté le 23-11-2004 à 13:19:38  profilanswer
 

Salut,
 
J'ai fait une page qui permet d'insérer des fiches dans une base MySql, la page en question permet d'insérer 5 fiches à la fois mais le problèmes c'est que si je veux en insérer qu'une, ça m'en met quand même 5 dont 4 vides. Pourtant je fais des tests.... voila mon code:
 
<?include("_connexion.php" );
 
if (ISSET($_POST['tf_Ref1'])) {
$Ref = $_POST['tf_Ref1'];
$Titre = $_POST['tf_Titre1'];
$Auteur = $_POST['tf_Auteur1'];
$dateEntree = $_POST['hd_DateE'];
$Titre = str_replace("'","'",$Titre);
$Auteur = str_replace("'","'",$Auteur);
 
$query = "INSERT INTO livres (Ref, Titre, Auteur, DateEntree) VALUES ('$Ref', '$Titre', '$Auteur', '$dateEntree')";
$result = mysql_query($query);
 
}
 
if (ISSET($_POST['tf_Ref2'])) {
$Ref2 = $_POST['tf_Ref2'];
$Titre2 = $_POST['tf_Titre2'];
$Auteur2 = $_POST['tf_Auteur2'];
$dateEntree2 = $_POST['hd_DateE2'];
$Titre2 = str_replace("'","'",$Titre2);
$Auteur2 = str_replace("'","'",$Auteur2);
 
$query2 = "INSERT INTO livres (Ref, Titre, Auteur, DateEntree) VALUES ('$Ref2', '$Titre2', '$Auteur2', '$dateEntree2')";
$result2 = mysql_query($query2);
}
 
if (ISSET($_POST['tf_Ref3'])) {
$Ref3 = $_POST['tf_Ref3'];
$Titre3 = $_POST['tf_Titre3'];
$Auteur3 = $_POST['tf_Auteur3'];
$dateEntree3 = $_POST['hd_DateE3'];
$Titre3 = str_replace("'","'",$Titre3);
$Auteur3 = str_replace("'","'",$Auteur3);
 
$query3 = "INSERT INTO livres (Ref, Titre, Auteur, DateEntree) VALUES ('$Ref3', '$Titre3', '$Auteur3', '$dateEntree3')";
$result3 = mysql_query($query3);
}
 
if (ISSET($_POST['tf_Ref4'])) {
$Ref4 = $_POST['tf_Ref4'];
$Titre4 = $_POST['tf_Titre4'];
$Auteur4 = $_POST['tf_Auteur4'];
$dateEntree4 = $_POST['hd_DateE4'];
$Titre4 = str_replace("'","'",$Titre4);
$Auteur4 = str_replace("'","'",$Auteur4);
 
$query4 = "INSERT INTO livres (Ref, Titre, Auteur, DateEntree) VALUES ('$Ref4', '$Titre4', '$Auteur4', '$dateEntree4')";
$result4 = mysql_query($query4);
}
 
if (ISSET($_POST['tf_Ref5'])) {
$Ref5 = $_POST['tf_Ref5'];
$Titre5 = $_POST['tf_Titre5'];
$Auteur5 = $_POST['tf_Auteur5'];
$dateEntree5 = $_POST['hd_DateE5'];
$Titre5 = str_replace("'","'",$Titre5);
$Auteur5 = str_replace("'","'",$Auteur5);
 
$query5 = "INSERT INTO livres (Ref, Titre, Auteur, DateEntree) VALUES ('$Ref5', '$Titre5', '$Auteur5', '$dateEntree5')";
$result5 = mysql_query($query5);
}
?>
 
D'ou peut venir l'erreur (apparemment c'est du à la date, car quand j'en mets pas, ça marche...)

mood
Publicité
Posté le 23-11-2004 à 13:19:38  profilanswer
 

n°905516
Berceker U​nited
PSN : berceker_united
Posté le 23-11-2004 à 14:09:36  profilanswer
 

Houlalala par pitier [:ciler]  
Prenez de bonne habitude quand vous codez. Certe c'est pas lier à cela mais évité de mettre des variables dans une chaine de caractère.
 
 
:non:  

Code :
  1. echo "Je suis pas claire dans ce code la : $code mais je me rattraperais"


 
:jap:

Code :
  1. echo "Je suis pas claire dans ce code la : ".$code." mais je me rattraperais"


 
Pour ton probleme c'est quoi le type de champ de ta table ? c'est un datetime ? regarde comment tu formates ta date.
Fait un echo mysql_error() apres tes requettes.

n°905528
bob007
Posté le 23-11-2004 à 14:13:17  profilanswer
 

$_POST['tf_Ref1'] c'est quoi? A vue de nez il est toujours set mais des fois il est vide! n'est-ce pas?

n°905551
Xav_
The only one...
Posté le 23-11-2004 à 14:24:50  profilanswer
 

+1 pour la remarque de Berceker United, il vaut mieux concaténer que mettre les variable dans la chaine, mais tu peux aller plus loin puisqu'il n'y a plus de variable dans tes chaines, utilise des simple quote au lieu des doubles.
 
Double quote, le serveur va regarder s'il y a des variables dans la chaine, s'il n'y en a pas, pas besoin qu'il y regarde --> simple quote --> léger gain en temps de génération de la page (d'accord, on parle de milliseconde sur des centaine d'itérations, mais kit à faire du code propre, autant aller au bout ;))


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°906057
sielfried
Posté le 23-11-2004 à 21:25:14  profilanswer
 

=> ce qu'a dit bob007.
 
A tous les coups c'est un champ input text qui est vide, et qui existe donc mais contient la chaîne vide. Il faudrait donc vérifier qu'il contient qqchose au lieu de vérifier son existence.


Message édité par sielfried le 23-11-2004 à 21:25:33

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°906278
bob007
Posté le 24-11-2004 à 09:05:24  profilanswer
 

tout à fait!
if (isset($_POST['tf_Ref1']) && $_POST['tf_Ref1'])
{
 
}


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problèmes d'insertion

 

Sujets relatifs
Problèmes EasyPHP et scripts PHPProbleme Insertion code stats dans interface html
Problèmes de résolutions..Problèmes de chenin sous PostegreSQL-8.0.0-beta4
[shell] detecter l'insertion d'un cdrom en shellProblèmes avec is_float dans mon formulaire
insertion de la date a l'ouverture du fichier (Excel)!!message d'insertion génant dans un code VBA
Problèmes avec session....Probleme dans un formulaire d'insertion de news dans une bdd
Plus de sujets relatifs à : Problèmes d'insertion


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