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 :

Typage de champs et utilisation de "LONGTEXT" [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de Addict`
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 148
    Par défaut Typage de champs et utilisation de "LONGTEXT"
    Bonjour,

    Je penses que mon problème vient de là mais je ne parviens pas à le résoudre et surtout je ne suis pas sûr !

    Pour vous aider, le site est en ligne http://metropolitains.seberg-developpement.com

    Pour vous connecter à l'administration, vous pouvez utiliser les identifiants suivant :

    User : user
    Pass : user


    Mon problème est le suivant :

    Lors d'ajout d'actualité, si celle ci est trop grande, l'ajout ne se fait pas dans ma base. Cependant si la taille reste courte, l'ajout se fait correctement.

    Voici la structure de ma table actu :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CREATE TABLE `actu` (
      `num_actu` int(3) NOT NULL auto_increment,
      `nom_actu` varchar(250) NOT NULL,
      `date_actu` varchar(10) NOT NULL,
      `auteur_actu` varchar(250) NOT NULL,
      `contenu_actu` varchar(1000) NOT NULL,
      `resum_actu` varchar(250) NOT NULL,
      PRIMARY KEY  (`num_actu`)
    ) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=latin1 AUTO_INCREMENT=35 ;

    Peut-être y'a t'il une configurateur de l'éditeur WYSIWYG FCKeditor mais je n'ai rien trouvé.

    Merci de votre aide.

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    `contenu_actu` varchar(1000) NOT NULL,



    heuuu c'est pas limité à 255 ?


    utilise plutot un LONGTEXT comme tu l'as écrit dans le sujet

  3. #3
    Membre confirmé Avatar de Addict`
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 148
    Par défaut
    ...J'ai essayé longtext et même problème...

    Une autre idée ?

  4. #4
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    t'es sur(e?) que c'est la taille qui a posé problème ? et pas plutot un caractère spécial (non échappé) ?

    Et sinon, on pourrait avoir le "tit-bout-de-code-qui-va-bien" de ta requete d'INSERT stp ?

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Comme tu peux le voir, j'ai fais des tests :
    - guillemets passent
    - 260 caracteres ca passe aussi.

    Qu'est ce qui ne passe pas exactement ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre confirmé Avatar de Addict`
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 148
    Par défaut
    Ouép je te donnes ça darkstar123456 :

    Code php : 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
    //EDITION - UPDATE DU CONTENU
    	if (isset($_GET['action']) && ($_GET['action']='edit') && isset($_GET['type']) && ($_GET['type'] == 'actu') && isset($_POST['edit']) == 0){
    			$query = mysql_query('SELECT * FROM actu WHERE num_actu='.$_GET['num'].'') or die ('Erreur sql ligne ' . __LINE__ . '<br />'. mysql_error());
    			$result = mysql_fetch_array($query);
    			$_SESSION['texte'] = $result['contenu_actu'];
    			header("location: ../ajout_article.php");
    	}
    	elseif (isset($_GET['action']) && ($_GET['action']='edit') && isset($_GET['type']) && ($_GET['type'] == 'flash') && isset($_POST['edit']) == 0){
    			$query = mysql_query('SELECT * FROM flash WHERE num_flash='.$_GET['num'].'') or die ('Erreur sql ligne ' . __LINE__ . '<br />'. mysql_error());
    			$result = mysql_fetch_array($query);
    			$_SESSION['texte'] = $result['contenu_flash'];
    			header("location: ../../ajout_article.php");
    	}
    	elseif(isset($_POST['html_value']) && !empty($_POST['html_value']) && isset($_POST['edit']) == 1){
    		if (isset($_GET['type']) && $_GET['type'] == 'actu'){	
    			$var = $_GET['num'];
    			$query = mysql_query("UPDATE actu SET contenu_actu='".$_POST['html_value']."' WHERE num_actu='".$var."'");
    			mysql_close();
    			header("location: ../ajout_article.php");
     
    		}
    		elseif (isset($_GET['type']) && $_GET['type'] == 'flash'){
    			include('../include/connect.inc.php');
    			$var = $_GET['num'];
    			$query = mysql_query("UPDATE flash SET contenu_flash='".$_POST['html_value']."' WHERE num_flash='".$var."'");
    			mysql_close();
    			header("location: ../ajout_article.php");
    		}
     
    	}

    Le problème que je rencontre est que je ne vois pas apparaitre dans le textarea de FCKeditor, le texte que je veux éditer...
    J'aimerai, lorsque je veux éditer une actualité DÉJÀ présente, qu'elle soit affichée dans le WYSIWYG avec le formatage de base (qui, normalement, ne devrait pas poser de problème puisque les balises sont mémorisées dans la base).

    Merci.

  7. #7
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Bonjour ma question va paraitre idiot mais tu as vérifié que tu rentré dans chaque IF?

    Parce que je ne comprends pas une contrainte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    isset($_POST['edit']) == 0
    J'aurais plutôt fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    isset($_POST['edit']) && $_POST['edit'] == 0
    Mais je ne connais pas toute les subtilités du isset il se peut que je me trompe^^

  8. #8
    Membre confirmé Avatar de Addict`
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 148
    Par défaut
    Je corrige...

  9. #9
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Tu es bien en magic quote OFF ?

    Sinon, c'est clair qu'ils sont bizarres t'es isset(), premiere fois que je vois ça ^^

  10. #10
    Membre confirmé Avatar de Addict`
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 148
    Par défaut
    Salut,

    Désolé je débute et je sais pas ce qu'est "Magic quote off"... Si tu peux m'en dire plus, je te remercies.

    Pour vous faciliter la tâche autant que j vous donne la source complète : Lien de DL

    Voilà, tout est dedans (/admin/ | /admin/script)

    Merci

  11. #11
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Citation Envoyé par Addict` Voir le message
    Salut,

    Désolé je débute et je sais pas ce qu'est "Magic quote off"... Si tu peux m'en dire plus, je te remercies.

    Pour vous faciliter la tâche autant que j vous donne la source complète : Lien de DL

    Voilà, tout est dedans (/admin/ | /admin/script)

    Merci
    bon je peux pas tester pcq je suis au boulot, et ça me prendrait trop de temps (je peux pas me le permettre ^^)

    Pour ce qui est des Magic Quotes il s'agit d'un processus qui echappe automatiquement les caractères => plus d'infos

    Normalement mtn par défaut, il est réglé sur OFF (désactivé), il faut donc lors de l'ajout dans la base de données, utiliser la fonction addslashes()

    ce qui donne :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "INSERT INTO maBase SET monText = '".addslashes($_POST['monText'])."', active = '1'";

    et pour afficher, on utilise stripslashes() :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sql = "SELECT .........";
    $q = mysql_query($sql);
    while( $r = mysql_fetch_assoc($q) ) {
         echo '<p>'.stripslashes($r['monText']).'</p>';
    }

  12. #12
    Membre confirmé Avatar de Addict`
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 148
    Par défaut
    Ok merci de ton explication, je vais regarder ça.

  13. #13
    Membre confirmé Avatar de Addict`
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 148
    Par défaut
    C'est bon, ça m'a résolu le problème. Merci à vous tous !

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

Discussions similaires

  1. [Info]le champ d'utilisation d'eclipse
    Par nytmare dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 11/04/2006, 23h29

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