LupusMic

  • Signature
    Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
  • Site web
  • Nombre de sujets
    26
  • Nombre de messages
    1 684
  • Nombre de commentaires
    4
  • Nombre de news
    Aucune
  • Niveau en PHP
    Gourou

Ses derniers messages sur les forums

LupusMic
le 27/03/2008 à 09:11
For et décrementation
(zebden) You'll die from my painfull madness ! smiley smiley smiley smiley

Tu préfères une explication sans explication ?
for( instruction_init
; condition_continue
; instruction1) instruction2 ;


Bon, pour être constructif : c'est vraiment imbitable ce que j'ai écris ? Comment tu écrirais en français ce à quoi correspond la seconde instruction de la structure de langage for ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 25/03/2008 à 15:51
For et décrementation
(La Globule) C'est pas bien de donner la solution sans donner l'explication :p

Pour compléter, la seconde clause de l'instruction for correspond à la condition sous laquelle l'instruction suivant for doit être reconduite.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 25/03/2008 à 11:34
joyeuse paque
Non, Pâcques c'est le dimanche. C'est pour ça qu'il y a le Lundi de Pâcques. À noter que les festivités (oui, les Chrétiens fêtes la mise en clous de leur prophète) démarrent le Jeudi Saint (précédent la Pâcques).

Et que le Vendredi Saint est férié en région Alsace et dans le département de la Moselle.

smiley
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 25/03/2008 à 11:29
apprentissage PHP
Je vais être méchant, même cinglant et sentencieux. Âmes sensibles s'abstenir.

Si 946 pages te font peur.
Ou la structure if te parait inutile.
Ou tu crois que programmer s'improvise.
Ou tu crois en la magie imbuée par le guru.

Alors abandonne.
Sinon prend ton courage et apprend.

946 pages, c'est rien pour un bouquin de programmation. Surtout les mauvais livres Micro Application sont orientés vers la mise en pratique rapide.

J'ai a côté de moi mon Stroustrup, qui fait un peu plus de 1000 pages, index et sommaire inclus. Avec peu d'exemple, des concepts souvent ardus. La prochaine édition devant certainement être bien plus étoffée en raison des ajouts à la norme ISO C++. Et bien que n'étant pas fréquenté le Bac L, 1000 pages ne m'ont jamais fait peur.

Alors si tu veux apprendre à programmer un site web dynamique, sécurisé et fonctionnel, reprends ton courage à demain, et utilises toutes les ressources dont tu disposes, à la demande.

Quand à moi, j'en profite pour conseiller le livre de Stéphane Mariel sur le PHP5, dans la collection « les Cahiers du Programmeur », aux éditions Eyrolles.
Ce n'est pas un grand livre de référence, mais il a la qualité d'aller à l'essentiel, de ne pas contourner la sécurité, et d'être concis, de ne pas être un catalogue de fonctions, de proposer des bonnes pratiques (GoF design patterns) et pas chère. Et surtout, il ne prétend pas au remplacement du manuel PHP officiel en ligne. 276 pages pour 29 €.

Ce livre est un bon début pour quiconque souhaite s'initier à la programmation de sites Web dynamiques.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 25/03/2008 à 10:58
Afficher donnée au format HTML
Je rajouterais que le safe_mode peut échapper automatiquement les caractères spéciaux du XML. À savoir les chevrons et l'esperluette.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 22/03/2008 à 08:37
Création d'une image GD à partir d'un formulaire [Bug]
(davinci34) Ce n'est pas ce que La Globule a remarqué. L'image ne doit pas faire partie du document HTML, c'est une ressource externe au document.

Donc tu dois avoir un script qui génère le HTML, et un **autre** qui génère l'image.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 19/03/2008 à 05:57
Probleme de jointure innoDB
(La Globule) Tu as raison en fait, la clé n'est pas utilisé pour la jointure :
+----+-------------+----------+-------+---------------+-----------+---------+------+------+----------------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+----------+-------+---------------+-----------+---------+------+------+----------------------------------------------+
| 1 | SIMPLE | voitures | index | NULL | modele_id | 5 | NULL | 1 | Using index; Using temporary; Using filesort |
| 1 | SIMPLE | modeles | ALL | NULL | NULL | NULL | NULL | 1 | |
| 1 | SIMPLE | marques | ALL | NULL | NULL | NULL | NULL | 1 | |
+----+-------------+----------+-------+---------------+-----------+---------+------+------+----------------------------------------------+


Je traduisais mal « on » :( mea culpa. Bref, il faut effectivement spécifier une condition complète.

select    marques.id as marque_id    , marques.marque as marque    , modeles.id as modele_id    , modeles.modele as modele    , count(voitures.id) as total from voitures left join modeles on voitures.modele_id = modeles.id     left join marques on modeles.marque_id = marques.id     group by marque, modele     order by marque, modele asc;


Avec le explain qui indique bien l'usage des clés :
+----+-------------+----------+--------+---------------+-----------+---------+-------------------------+------+----------------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+----------+--------+---------------+-----------+---------+-------------------------+------+----------------------------------------------+
| 1 | SIMPLE | voitures | index | NULL | modele_id | 5 | NULL | 1 | Using index; Using temporary; Using filesort |
| 1 | SIMPLE | modeles | eq_ref | PRIMARY | PRIMARY | 4 | test.voitures.modele_id | 1 | |
| 1 | SIMPLE | marques | eq_ref | PRIMARY | PRIMARY | 4 | test.modeles.marque_id | 1 | |
+----+-------------+----------+--------+---------------+-----------+---------+-------------------------+------+----------------------------------------------+
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 19/03/2008 à 05:37
Utiliser une class dans une autre class
J'irais plus loin en proposant l'implémentation du singleton. Par exemple :

<?php
class ezSQL
{
protected function __construct()
{
}

static protected $instance ;
static public function get()
{
if(!self::$instance)
self::$instance = new self ;

if(!self::$instance)
throw new Exception("Sad sick world !") ;

return self::$instance ;
}

/** reste de la classe
*/
}
?>

On l'utiliserais ainsi :
<?php
try
{
$db = zeSQL::get() ;
}
catch($e)
{
/** Gestion de l'exception */
}

/** utilisation de la classe */
?>
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 11/03/2008 à 06:55
Probleme de jointure innoDB
(La Globule) Non, Lorsque les tables sont liées par des clés, tu indiques la clé primaire sur laquelle tu veux joindre.

Pour t'en convaincre, demande à explain ce qu'il en pense :)

(Sammuel) Ça veut dire quoi, « elle ne marche pas » ? Message d'erreurs ? Les données fournies ne sont pas celles attendues ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LupusMic
le 11/03/2008 à 00:57
preg_match_all() et charge du serveur distant...
Dans ton script, preg_match_all n'est exécuté qu'une fois le fichier récupéré.

D'ailleurs, quels sont les messages d'erreur de PHP lorsqu'il échoue ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LoadingChargement en cours