PHP -Problème retraitement données Mysql avant envoit dans un tableau array

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par eskimo, 28 Décembre 2016.

  1. eskimo
    eskimo WRInaute discret
    Inscrit:
    21 Octobre 2007
    Messages:
    198
    J'aime reçus:
    0
    Bonjour,

    Je rencontre un problème que je n'arrive pas à gérer.

    Suite à une requête Mysql, je récupère une série de données.

    Parmi ces données, j'ai une colonne titre qui peut parfois être vraiment très longue. Je souhaite donc limiter le nombre de caractères de "titre" avant de l'envoyer dans un array...

    Tout ça sans succès bien sur.

    Voici la partie du code concernée ci dessous. Pour info il fonctionne dans le sens ou j'arrive bien à récupérer toutes les données de ma requête dans un array ... par contre la partie de retraitement sur la colonne 'titre' est sans effet.
    Code:
    $data = array();
    $lg_max = 50; //nombre de caractère autoriser
    while($col = mysql_fetch_array($result)){
    if (strlen($col['titre']) > $lg_max){
    $col['titre'] = substr($col['titre'], 0, $lg_max);
    $last_space = strrpos($col['titre'], " ");
    $col['titre'] = substr($col['titre'], 0, $last_space)."...";} 
    $data[] = $col;}
    
     
  2. eskimo
    eskimo WRInaute discret
    Inscrit:
    21 Octobre 2007
    Messages:
    198
    J'aime reçus:
    0
    ok - trouvé ! Pour ceux que cela intéresse j'ai remplacé $col['titre'] par
    $col['0']
     
  3. FortTrafic
    FortTrafic WRInaute passionné
    Inscrit:
    11 Décembre 2012
    Messages:
    1 210
    J'aime reçus:
    18
    Salut, peut être est-ce parce que le nom de ta colonne n'est pas 'titre' mais 'Titre' ou 'TITRE'.
    Vérifie dans ta table MySQL, et si tu utilises la forme exacte du nom dans ton code PHP normalement ça fonctionne bien.
    Il y aurait une autre explication, si tu sélectionnes tous les champs de plusieurs tables et qu'il y ait donc deux ou plusieurs 'titre' dans ce cas c'est le dernier qui est dans $col['titre'] et s'il est vide tu n'aurais rien... Dans ce cas la solution c'est d'utiliser des alias dans ta requête ou bien comme tu as fait d'utiliser l'index numérique (d'ailleurs tu n'as pas besoin de mettre les ' autour du 0)
     
  4. niap
    niap WRInaute discret
    Inscrit:
    17 Octobre 2009
    Messages:
    139
    J'aime reçus:
    0
    Normallement MySQL renvoit une erreur dans ce cas. Nom de colonne ambigue.
     
  5. FortTrafic
    FortTrafic WRInaute passionné
    Inscrit:
    11 Décembre 2012
    Messages:
    1 210
    J'aime reçus:
    18
    Uniquement si tu mets un nom de colonne dans la requete, pas si tu fais un select * ou si tu prefixes les noms de colonne identiques avec le nom de leur table (table1.titre, table2.titre, ...). Là MySQL ne dit rien.
     
Chargement...
Similar Threads - PHP Problème retraitement Forum Date
Probleme forum phpbb seo Développement d'un site Web ou d'une appli mobile 30 Septembre 2018
Problème de duplicate content avec des URLs contenants /index.php/ URL Rewriting et .htaccess 14 Mai 2018
Problème hiérarchie de classes php. Développement d'un site Web ou d'une appli mobile 9 Janvier 2018
Problème images en https (forum phpbb) [résolu] Développement d'un site Web ou d'une appli mobile 18 Novembre 2017
Problème avec l'envoi d'un mail sans contenu php Développement d'un site Web ou d'une appli mobile 7 Septembre 2016
Un problème avec php7 Administration d'un site Web 1 Août 2016
Problème erreur redirection cakephp URL Rewriting et .htaccess 4 Avril 2016
problème PHP/Mysql Développement d'un site Web ou d'une appli mobile 29 Octobre 2015
Problème PHPMailer, SMTPSecure (tls ou ssl) : SMTP connect() failed Développement d'un site Web ou d'une appli mobile 6 Juillet 2015
Passage à PHP5.6, problème sur caractères accentués Développement d'un site Web ou d'une appli mobile 24 Juin 2015
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice