Partage
  • Partager sur Facebook
  • Partager sur Twitter

tableau

taille fixe

    1 février 2006 à 9:27:25

    bonjour a tous, je fait une chat box et tout marche bien sauf un truc :

    la taille du tableau contenant cette chatbox.

    en effet je la defini comme ca :

    <table width="150px" height="250px" style="border-collapse: collapse;border:1px solid  black;">


    le probleme c'est que si une personne laisse un message contenant un mot trop long, cela a pour effet de l'agrandir en largeur(width) .
    pourquoi ??
    comment faire pour que cela ne le fasse pas ???



    <?PHP
    //connection à la base de données. ici localhost car easy php, root user par defaut de easyphp et pas de mdp
    mysql_connect("localhost","root","");
    //selection de la base
    mysql_select_db("XXXX");

    $erreur = 0; // definition d'une variable qui va servir pour verifier lme message

    if(isset($_POST['mini_pseudo']) and isset($_POST['mini_message'])) // si on a appuyer sur le bouton "poster"
    {
            $mini_pseudo=addslashes($_POST['mini_pseudo']);
            // on rajoute des \ pour les caracteres speciaux
            $mini_message=addslashes($_POST['mini_message']);
           
           
           
            if($mini_pseudo==NULL)$erreur=1;// si le pseudo n'est pas communiqué alors erreur
           
            if($mini_pseudo=="admin")$erreur=1;// pour eviter que des petits malins s'amuse a poster avec ce nom
           
            if($mini_pseudo=="adminmotdepasse")$mini_pseudo="admin"; // redefinition du mot de passe pour poster en admin
           
            if($mini_message==NULL)$erreur=1;// si le message n'est pas communiqué alors erreur
           
            // on va recuperer les dernier id dans la table pour ensuite comparer avec celui envoyer et ne pas l'enregistrer si c'est un doublon
            $id_dernier=-1;
            $rep=mysql_query("SELECT `id` FROM `mini_message`");
            while($donnees=mysql_fetch_array($rep))
            {
                    if($id_dernier<$donnees['id'])$id_dernier=$donnees['id'];       
            }
           
            // on recupere les info sur le dernier message poster
            $rep=mysql_query("SELECT * FROM `mini_message` WHERE `id`='".$id_dernier."'");
            while($donnees=mysql_fetch_array($rep))
            {
                    if($mini_pseudo==$donnees['pseudo'] and $mini_message==$donnees['message'])$erreur=1; //si le pseudo et le message sont les meme, erreur
            }
           
            if($erreur==0)
            {
                    mysql_query("INSERT INTO `mini_message` VALUES('','".$mini_pseudo."','".$mini_message."','".$_SERVER['REMOTE_ADDR']."','".time()."')");
            }
    }




                                            //AFFICHAGE DES X DERNIERS MESSAGES

    $conf=mysql_query("SELECT `valeur` FROM `mini_conf` WHERE `nom`='nombre_affiche'");
    // recuperation du nombre de message pour la fenetre chat
    $nb_mess_array=mysql_fetch_array($conf);
    $nb_mess=$nb_mess_array['valeur'];


    $recup=mysql_query("SELECT * FROM `mini_message` GROUP BY `id` DESC LIMIT 0,".$nb_mess);
    // récuperation de toutes les donnees contenues dans la table des $nb_mess derniers messages

    while($donnees=mysql_fetch_array($recup))
    {
            $pseudo=stripslashes($donnees['pseudo']);
            $message=htmlentities(stripslashes($donnees['message']));
            echo "<span style=\"white-space:pre\"> </span><b>".$pseudo."</b> : ".$message."<br><hr>";
            // <span style=\"white-space:pre\"> </span> permet de faire un leger espace entre la bordure et le pseudo
    }
    ?>




    <form method="post"><!-- on ne presise pas l'action, c'est la meme page qui est la cible -->

    <div  align="center">

    <label>Pseudo : <br><input type="text" value="" size="18" name="mini_pseudo" maxlength="20"></label><br>
    <!-- size = taille de la saisie // maxlength = nombre maximum de caractere // value = valeur par default -->

    <label>Message : <br><textarea name="mini_message" rows="4" cols="14">
    </textarea></label><br>
    <!-- rows = nombre de ligne dans la zone de texte // cols = nombre de colonne, de caractere par ligne -->

    <input type="submit" value="Poster"></div>
    <!-- bouton de validation -->
    </form>
    <?PHP
    if($erreur==1)
            {
                    echo "<center><font color=\"red\">Erreur</font></center><br>";
            }



    <table width="150px" height="250px" style="border-collapse: collapse;border:1px solid  black;">
    <tr>
    <td>
    <?PHP
    include("minichat.php");
    ?>

    </td>
    </tr>
    </table>

    • Partager sur Facebook
    • Partager sur Twitter
      1 février 2006 à 9:37:38

      Y'a pas 30 solutions, soit tu trouves un moyen de bloquer les mots trop long soit tu fais un overflow sur ton tableau pour éviter de bousiller ton design. ;)
      • Partager sur Facebook
      • Partager sur Twitter

      tableau

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown