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 :
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 :)
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 :)