Problème BDD

Petit nouveau ! | 8 Messages

07 juin 2009, 19:49

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.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

07 juin 2009, 20:14

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 ?

Petit nouveau ! | 8 Messages

07 juin 2009, 21:27

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…

ViPHP
ViPHP | 1996 Messages

07 juin 2009, 22:15

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
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

ViPHP
AB
ViPHP | 5818 Messages

07 juin 2009, 22:16

Tu dois avoir fait une erreur lors de l'insertion. Sinon ne pas utiliser de caractères accentués pour le nom des champs.

Petit nouveau ! | 8 Messages

07 juin 2009, 22:28

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)";)

Avatar du membre
ViPHP
ViPHP | 3008 Messages

07 juin 2009, 22:49

Tu as en effet des erreurs dans ton code d'insertion.

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

ViPHP
AB
ViPHP | 5818 Messages

07 juin 2009, 23:05

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.