Page 1 sur 1

Problème BDD

Posté : 07 juin 2009, 19:49
par Philippe21
Bonjour à tous,

J’ai créé de nouveaux champs dans une base de données existante, le problème est que ces données ne sont pas dans les bons champs ! Y’a-t-il des règles à respecter dans la création d’une BDD ?

Merci pour vos réponses.

Posté : 07 juin 2009, 20:14
par charabia
Je n'ai pas très bien saisi ta demande. Les champs se trouvent dans les tables et non dans la base.

"Ces données" correspondent à quoi ? Tu fais une insertion par formulaire ?

Posté : 07 juin 2009, 21:27
par Philippe21
Merci pour ta réponse,
J’ai ajouté le champ (téléphone) dans ma base MySQL puis un champ (téléphone) dans mon formulaire, les données (téléphone) de la base MySQL se retrouve dans le champ (prénom) de mon formulaire…

Posté : 07 juin 2009, 22:15
par Aureusms
Montre nous
  • ta requête d'insertion (qui commence par INSERT INTO)
    comment tu récupères ton formulaire
    Quelle est la structure de ton formulaire.
    Quelle la structure de ta table.
Pour faire (très) rapide :

le formulaire :

Code : Tout sélectionner

<form action="<?php echo $_SERVER["PHP_SELF"]; ?> method="post"> <input type="text" name="telephone" /> <input type="submit" value="modifier" /> </form>
se récupère via la méthode POST par la supervariable $_POST de cette façon
if (isset($_POST) && !empty($_POST["telephone"]))
{
$telephone = addslashes ($_POST["telephone"]);
}
J'ai écris au dessus : si le formulaire est posté et si le champ "telephone" n'est pas vide alors je mets dans la variable "telephone" la valeur (protégé par addslahes) du champ téléphone du formulaire. Il me reste plus qu'a l'insérer dans ma BDD.
//les différentes fonction de connexion à la base sont déjà inscrites
//on créé la requete
$requete = "INSERT INTO ma_table (ID, prenom, nom, telephone) VALUES ('$ID','$prenom','$nom','$telephone');
mysql_query ($requete);
Ici j'ai supposer que tu connaissais $prenom, $nom, $ID. Le nom des colonne de ta table appelée "ma_table" sont ID, prenom, nom, telephone

Posté : 07 juin 2009, 22:16
par AB
Tu dois avoir fait une erreur lors de l'insertion. Sinon ne pas utiliser de caractères accentués pour le nom des champs.

Posté : 07 juin 2009, 22:28
par Philippe21
Code: php
(// INSERTION DANS LA TABLE
    if($_POST[mailingliste]==1){ $inscription=1; } else{ $inscription=0; }
        $idnew=$idmax+1;
    $rek="insert into membre ( `id_membre` , `id` ,`telephone`, `droits` , `date_inscription` , `pseudo` , `passe` , `url` , `destination` , `remarques` , `email` , `heure_session`, `actif` $suite_requete_a , mailingliste)
     values ($idnew,\"$id2\",\"$telephone\", \"$_POST[droits]\", NOW(), \"$new_pseudo\",\"$new_password\",\"$url1\",\"$destination1\",\"$remarques1\",\"$email1\",NOW(), $actif $suite_requete_b , $inscription)";)

Posté : 07 juin 2009, 22:49
par charabia
Tu as en effet des erreurs dans ton code d'insertion.

Regarde le code de Aureusms et base toi dessus pour corriger le tien.

Posté : 07 juin 2009, 23:05
par AB
Une autre méthode est de sortir les variables :
"... VALUES ('".$idnew."','".$id2."','".$telephone."', '".$_POST[droits]."', NOW(), '".$new_pseudo."',..."
Note : Si tu utilisais un champ datetime tu aurais à la fois la date et l'heure.