IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] créer et remplir une table d'un coup


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 24
    Par défaut [SQL] créer et remplir une table d'un coup
    Rebonjour,
    je voulais savoir s'il est possible de créer un table et de la remplir d'un coup avec un même formulaire dans une même page de traitement du formulaire.
    On m'as dit que c'est possible j'ai donc fait un petit script pour essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    <?php
    $cnx=mysql_connect("localhost","root","") or die("erreur de connexion au serveur");
    mysql_select_db("wiki",$cnx) or die("erreur de connexion a la bdd");
     
    $name=$_POST['nom'];
    $autor=$_POST['auteur'];
    $com=$_POST['commentaire'];
    $bonnedate=date("Y/m/d - G:i");
     
     
    echo $name.'<br />';
    echo $autor.'<br />';
    echo $com.'<br />';
    echo $bonnedate.'<br />';
    			// condition de champs vide
    			if($name == "" OR $autor == "" OR $com == "")	
    			{ 
    			echo '<p>Erreur : Veuillez saisir un nom de dossier</p>'; 
    			exit();
    			}
     
    			else //creation d'une nouvelle base de données
    			{
    		$res=("CREATE TABLE $name (
    							`id` MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    							`valeur` TEXT NOT NULL ,
    							`auteur` VARCHAR( 255 ) NOT NULL ,
    							`date` DATE NOT NULL
    							) ENGINE = MYISAM ;");
     
    			echo $res.'<br />';			
    			mysql_query($res) or die("erreur de création");
    			}
     
     
    	$remplir=("INSERT INTO $name
    							(`id`,`valeur`,`auteur`,`date`)
    							VALUES
    							(``,`$com`,`$autor`,`$bonnedate`)");
     
    			echo $remplir.'<br />';
    			mysql_query($remplir) or die("erreur d'ajout");				
    			echo "<p>Votre dossier <b>$nom</b> a bien était créé </p>";	
     
    ?>
    La table se créer mais j'ai l'erreur 'erreur d'ajout" qui s'affiche...

    Quelqu'un pourrait il m'aider svp.
    Merci d'avance

  2. #2
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $remplir=("INSERT INTO $name (`id`,`valeur`,`auteur`,`date`) VALUES (``,\"$com\",\"$autor\",\"$bonnedate\")");
    les variables com autor et bonnedate sont des chaines de caractère

  3. #3
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    De plus tu ne fais pas ca "en un coup" mais bien en deux requêtes distinctes.

    C'est bien préférable d'ailleurs car il ne faudrait pas que l'ajout se fasse si la table n'a pas été créee.

    Pour info, tu peux executer deux requêtes SQL en les joignant par la mention UNION, exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = mysql_query("CREATE TABLE truc etc.... UNION INSERT INTO truc VALUES ...");

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 24
    Par défaut
    ok merci mais j'ai toujours l'erreur d'ajout au moment de remplir la table

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    Citation Envoyé par tozy88 Voir le message
    ok merci mais j'ai toujours l'erreur d'ajout au moment de remplir la table
    remplace cette ligne
    mysql_query($remplir) or die("erreur d'ajout");
    par celle là
    mysql_query($remplir) or die("erreur d'ajout". mysql_error()."requete=".$remplir);
    ça te donnera plus de détails sur l'erreur.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 24
    Par défaut
    Merci j'ai résolu le problème ça venait des cotes de l'id..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] créer et remplir une table à partir d'une autre
    Par Dokko974 dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/04/2009, 10h57
  2. Remplir une table avec le résultat d'une instruction SQL
    Par jbeu dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/09/2007, 23h49
  3. [SQL] Comment un remplir une table avec un fichier xls
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/10/2006, 12h33
  4. Réponses: 8
    Dernier message: 11/08/2006, 09h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo