LA GLOBULE

Inscris le 25/09/2002 à 10:40
  • Site web
  • Nombre de sujets
    47
  • Nombre de messages
    8 345
  • Nombre de commentaires
    142
  • Nombre de news
    8 346
  • Niveau en PHP
    Excellent

Ses derniers messages sur les forums

LA GLOBULE
le 06/03/2006 à 22:13
Interferences avec les magic_quotes
Et le mieux, c'est pas addslashes, mais mysql_escape_string :)

(addslashes est detourné de son utilisation grâce à une permissivité de MySQL qui permet les \ pour protéger les quotes)
LA GLOBULE
le 04/03/2006 à 17:10
Script de pagination
Alors, pourquoi nous avons besoin de calculer le nombre total d'élements de la table ?

Tout simplement, pour connaitre le nombre de pages du bouzin.

Si tu fais directement des LIMIT, tu ne sauras jamais si tu es sur la dernière page de ta pagination, c'est logique.
Par la même, tu ne pourras pas faire de lien (à partir de la première page) qui pointe directement sur la dernière page.

Toutefois, on peut tout de même le faire en une seule requête (en fait deux, mais pour la deuxième, MySQL travaillera presque pas) : en faisant un SELECT SQL_CALC_FOUND_ROWS.

C'est une fonction méconnue de MySQL qui permet de faire une requete avec un LIMIT, et on obtient deux résulats :
- la liste des éléments récupérés
- le nombre total d'éléments de la table (soit la meme requete sans LIMIT).

Exemple :

<?php
$sql = "SELECT SQL_CALC_FOUND_ROWS `blu` FROM `table` ORDER BY `blu` ASC LIMIT 10";
$req = mysql_query($sql) or die ('Erreur SQL !'.$sql.''.mysql_error());

$sql2 = "SELECT FOUND_ROWS() as `total`";
$req2 = mysql_query($sql2) or die ('Erreur SQL !'.$sql2.''.mysql_error());
$nb_total = mysql_fetch_assoc($req2);
$nb_total = $nb_total['total'];
?>


La requete $sql2 est extremement rapide à s'executer (faites le test), et la, on a toutes les infos :
- le nombre total d'element (calculé non pas avec un count tres long et gourmant en ressource, mais avec un SQL_CALC_FOUND_ROWS)
- les éléments à afficher gràce au LIMIT
LA GLOBULE
le 04/03/2006 à 16:55
explode
En regardant la doc, je vois que explode prend une chaine de caractères en premier argument et non un tableau.

Le mieux, c'est d'utiliser une expression régulière pour faire ton truc (preg_split).
LA GLOBULE
le 03/03/2006 à 19:54
caractères spéciaux
Configure ton éditeur / navigateur pour qu'ils utilisent le même encodage des caractères.
LA GLOBULE
le 03/03/2006 à 18:40
Problème avec CURL
A mon avis, tu ne peux pas faire çà.

CURL sert juste à ouvrir une page, récupérer son contenu ou balancer du GET ou du POST.

C'est souvent utilisé (je l'utilise sur iFRANCE) lorsque les fopen distants sont interdits, et non à "dialoguer" avec un serveur.
LA GLOBULE
le 28/02/2006 à 12:26
Protection de base de données !
Je suis d'accord avec LupusMic, il ne faut pas prendre tous les cours de ce site comme la vérité absolue.

Lisez, lisez, lisez :)
LA GLOBULE
le 27/02/2006 à 10:13
probleme avec requete Sql... help!
ET pourquoi elle ne fonctionne ?
Ca retourne quoi ?
Quel est le schéma de tes tables ? (avec des explications sur les liens entre les tables).

Il en faudrait un peu plus pour que l'on puisse t'aider...
LA GLOBULE
le 19/02/2006 à 15:58
Incrementation de lettre
Y'a des fois, je me pose des questions sur la culture informatique des développeurs :S
LA GLOBULE
le 17/02/2006 à 19:52
Incrementation de lettre
En utilisant le code ascii par exemple :

<?php
for($i=97; $i<=122; $i++){
echo chr($i)."\n";
}
?>
LoadingChargement en cours