Erwin

Inscris le 23/03/2013 à 11:39
  • Signature
    PHP Amateur
  • Site web
  • Nombre de sujets
    Aucun
  • Nombre de messages
    11
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

Erwin
le 23/03/2013 à 11:54
Comparer les résultats d'une requete
Bonjour,

Je ne suis pas sûr d'avoir exactement compris la question, mais voici une idée de réponse :

// Préparation de la requête avec le LIMIT
$sql = 'SELECT * FROM table ORDER BY id ASC';
mysql_query("SET NAMES 'utf8'");

// on exécute la requête
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

//met les données dans un tableau
while($data = mysql_fetch_assoc($req, MYSQL_ASSOC)) { // Ici je rajoute le MYSQL_ASSOC puisqu'on n'a besoin que d'un tableau associatif
$tablo[]=$data;
}

$nbcol = 2;
$nb = count($tablo);

// On initialise une variable "memoire"
$max_length = 0;
// On initialise aussi $hauteur_text2
$hauteur_text2 = 0;

for($i=0;$i<$nb;$i++)
{
//les valeurs à afficher
$id = $tablo[$i]['id'];
$text2 = $tablo[$i]['text2'];

// On calcule la longueur du texte actuel
$length = strlen( $text2 );

/**
* On compare la longueur en memoire avec l'actuelle.
* Si elle est plus grande on la remplace en memoire.
*/
if( $length > $max_length ) {
$max_length = $length;
}
}

// A la fin, il ne doit nous rester que la plus grande valeur
$hauteur_text2 = $max_length;


J'ai rajouté quelques commentaires pour expliquer les modifications.

Juste un conseil cependant, dans la clause 'or die' de mysql_query(), afficher la requête exécutée est utile durant le développement, mais ne doit surtout jamais se faire en production, pour des raisons de sécurité (risque de dévoiler le schéma de la table à n'importe qui) ;)

Si jamais j'ai mal compris ou que tu as un problème, n'hésite pas :)
PHP Amateur
LoadingChargement en cours