PhPMyAdmin , minichat

Résolu
Bonjour,

Je suis les tutoriels du site du zero , en ce moment je me suis mis au php/sql , et je bloque a la création du minichat , je ne sais pas comment créer la table sous phpmyadmin , quels caractéristique choisir...

Pouvez vous m'aider ?

Anonyme
Configuration: Windows Vista
Firefox 3.0.11

9 réponses

  1. Pour l'id, utilise un TINYINT en unsigned en AI (auto_increment)
    Pour le texte (auteur + message), je pense qu'un TINYTEXT devrait suffire.
    1
    1. CREATE TABLE `teste`.`minchat` (
      `id` TINYINT UNSIGNED NOT NULL AUTO_INCREMENT ,
      `texte` TINYTEXT NOT NULL ,
      PRIMARY KEY ( `id` )
      ) ENGINE = InnoDB;
      1
      1. Quand je disais Pour le texte (auteur + message), je pense qu'un TINYTEXT devrait suffire. , j'entendais pas là pour les deux champs auteur + message et pas un champs "texte" qui contiendra l'auteur + le message.

        CREATE TABLE `teste`.`minchat` (
        `id` TINYINT UNSIGNED NOT NULL AUTO_INCREMENT ,
        `pseudo` TINYTEXT NOT NULL ,
        `message` TINYTEXT NOT NULL,
        PRIMARY KEY ( `id` )
        ) ENGINE = InnoDB;
        1
        1. merci beaucoup je vais essayer tout de suite
          0
          1. zut , il me met :

            Erreur

            requête SQL:

            CREATE TABLE `minichat` (
            `id` TINYINT NOT NULL AUTO_INCREMENT ,
            `texte` TINYTEXT NOT NULL
            ) ENGINE = innodb

            MySQL a répondu:Documentation
            #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
            0
            1. j'ai coché la case primary , et sa la sauvegardé , mais quand je vais sur mon fichier , j'écrit mon pseudo , ensuite mon message , puis je clique sur la case envoyer , et le message ne s'affiche pas ...
              0
              1. le message ne s'affiche pas , je clique sur envoyer ,sa charge , mets rien ne s'affiche.....

                peut etre que le code n'est pas bon ?

                <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
                <head>
                <title>Mini-chat</title>
                <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                </head>
                <style type="text/css">
                form
                {
                text-align:center;
                }
                </style>
                <body>

                <?php
                if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent
                {
                if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
                {
                // D'abord, on se connecte à MySQL
                mysql_connect("localhost", "root", "");
                mysql_select_db("test");

                // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
                $message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
                $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));

                // Ensuite on enregistre le message
                mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");

                // On se déconnecte de MySQL
                mysql_close();
                }
                }

                // Que l'on ait enregistré des données ou pas...
                // On affiche le formulaire puis les 10 derniers messages

                // Tout d'abord le formulaire :
                ?>

                <form action="minichat.php" method="post">

                <p>
                Pseudo : <input type="text" name="pseudo" /><br />
                Message : <input type="text" name="message" /><br />

                <input type="submit" value="Envoyer" />
                </p>

                </form>

                <?php

                // Maintenant on doit récupérer les 10 dernières entrées de la table
                // On se connecte d'abord à MySQL :
                mysql_connect("localhost", "root", "");
                mysql_select_db("test");

                // On utilise la requête suivante pour récupérer les 10 derniers messages :
                $reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");

                // On se déconnecte de MySQL
                mysql_close();

                // Puis on fait une boucle pour afficher tous les résultats :
                while ($donnees = mysql_fetch_array($reponse) )
                {
                ?>

                <p><strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['message']; ?></p>

                <?php
                }
                // Fin de la boucle, le script est terminé !
                ?>

                </body>
                </html>

                je fais localhost , root et pas de mot de passe
                0