Problème retraitement donées Mysql avant envoit dans un tableau array

Petit nouveau ! | 3 Messages

28 déc. 2016, 23:05

Bonjour à tous,

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 .
Dans mon tableau je récupère la colonne "titre" non tronquée à 50 caractère.

Code : Tout sélectionner

$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;}


Merci pour votre aide : )

Mammouth du PHP | 2703 Messages

28 déc. 2016, 23:23

<?php
$data = array();
$lg_max = 50; //nombre de caractère autoriser
$col = array('titre'=> "0123456789012345678901234567890123456789 0123456789 0123456789");
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;

print_r($data);
?>
ce code fonctionne, et je n'ai pas changé grand chose pour tester.

Petit nouveau ! | 3 Messages

28 déc. 2016, 23:28

Bonsoir Mammouth,
Merci pour ton retour mais je ne vois pas comment implémenter ta solution pour être être mise en production.

Comme tu le vois j'ai fais une boucle while + un mysql_fetch_array (je récupère 3 types de données différente) que tu as enlevé dans ta proposition... J'ai besoin de cette boucle et du fetch_array pour récupérer mes données provenant de ma bdd !
Merci quand même

Petit nouveau ! | 3 Messages

28 déc. 2016, 23:45

ok - trouvé ! Pour ceux que cela intéresse j'ai remplacé $col['titre'] par
$col['0']