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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème retraitement donées Mysql avant envoit dans un tableau array

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

par e5k1m0 » 28 déc. 2016, 23:45

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

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

par e5k1m0 » 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

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

par or 1 » 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.

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

par e5k1m0 » 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 : )