Aller au contenu

lionel.a

Actif
  • Compteur de contenus

    30
  • Inscrit(e) le

  • Dernière visite

Messages postés par lionel.a

  1. +1 captain torche

    Et pour compléter sur l'utilisation des sessions :

    tu peux imaginer ta page web totale remplie de toutes les variables session dont tu as besoin, et lorsque certaines variables sont manquantes, c'est certaines pages qui s'affichent :

    if(empty($_SESSION['var_1']) ||  empty($_SESSION['var_2'])) {
    // affichage du formulaire pour la saisie des variables $_SESSION['var_1'] et $_SESSION['var_2']
    } elseif(empty($_SESSION['var_3']) || empty($_SESSION['var_4']) || empty($_SESSION['var_5'])) {
    // affichage du formulaire pour la saisie des variables $_SESSION['var_3'], $_SESSION['var_4'] et $_SESSION['var_5']
    } elseif(empty($_SESSION['var_6'])) {
    // affichage du formulaire pour la saisie des variables $_SESSION['var_6']
    }

  2. Bonjour,

    Pourquoi veux-tu compliquer par une classe ?

    Utilise les simples fonctions des expressions régulières (ou rationnelles) :

    * doc officielle ereg_replace

    * http://fr.php.net/manual/fr/book.regex.php

    Par contre, comme tu le fais remarquer, ça ne va pas être évident :

    - cas n°1 : ok,

    - cas n°2 : rechercher ce qui commence par <p> et qui est suivi par un autre <p> (et non pas </p> puisque la syntaxe est mal écrite)

    - cas n°3 : idem, sauf qu'il te faut chercher ce qui commence par </p> et suivi par un autre </p>

    Début de solution :

    Définis une liste de balises, et recherche celles qui sont 2 fois successives.

    CONCAT_WS

    Whaou, et merci pour toutes ces réponses...

    Au passage, j'en profite pour dire que, je crois, la fonction ISNULL s'appelle IFNULL en MySql

    IFNULL('valeur_si_pas_Null', 'sinon_valeur')

    Mais comme dit TheRec, elles se ressemblent toutes...

    Depuis, j'ai aussi pensé à :

    SELECT REPLACE(CONCAT_WS(', ', 'Mot', NULL, 'phrase', '', 'point.'), ', , ', ', ');

    Et encore mieux :

    SELECT REPLACE(CONCAT_WS(', ', TRIM('Mot'), TRIM(NULL), TRIM('phrase'), TRIM(''), TRIM('point.')), ', , ', ', ');

    Et que je viens de découvrir une fonction qui se rapproche de CONCAT_WS : GROUP_CONCAT(`champ_a_concatener` SEPARATOR ',')

    que cette fonction n'a rien à voir avec le "GROUP BY" sauf qu'elle est mal rangée dans la doc MySql (arrêtons de dire du mal... on est bien content de l'avoir cette doc quand même, non ?)

    http://dev.mysql.com/doc/refman/5.0/fr/gro...-functions.html

    Problème résolu ! Merci

    CONCAT_WS

    Bonjour,

    Selon la documentation MySQL, la fonction CONCAT_WS (= concat "with separator") ne prend pas en compte ni les valeurs nulles, ni les chaînes vides.

    Doc mysql.com : concat_ws

    Pourtant, chez moi (MySQL: 5.0.45), les valeurs nulles sont sautées, mais pas les chaînes vides.

    Ex :

    CONCAT_WS(', ', 'Mot', NULL, 'phrase', '', 'point.')

    retourne : Mot, phrase, , point.

    au lieu de (selon la doc) : Mot, phrase, point.

    Chez vous, qu'est-ce qui est retourné ? Est-ce un problème de documentation, ou de version ? Si ça marche correctement chez vous (= conformément à la doc, c'est-à-dire sans la chaîne vide), merci de me préciser la version de votre mysql.

    Merci pour vos réponses,

  3. Bonjour,

    Cherche un peu dans les tutoriaux. Les notions que tu vas aborder sont :

    - la création de formulaire (pour ton bouton supprimer)

    - la détection de ta variable retour du formulaire ($_POST['quelquechose'])

    - le passage par PHP de requêtes SQL (y compris connexion à une base)

    Cordialement,

  4. Salut,

    regarde aussi si ton hébergeur n'a pas upgadé (mis à jour) ses versions PHP et Sql.

    Certaines syntaxes (notamment la réupération des variables par post ou get sans $_POST ou $_GET) ont été tolérées pour que les gens aient le temps de mettre à jour leur site, avant de les supprimer pour raison de sécurité. Le mieux est de te renseigner auprès de ton hébergeur.

  5. Bonjour,

    Je sais comment trouver le propriétaire d'un nom de domaine (Whois de DNS gratuit chez la raynette par exemple, mais il y en a d'autres), mais ce que je n'ai pas trouvé, c'est un site qui reprend les historiques de cessions (noms de domaines cédés).

    Pour illustrer :

    La société XXX a été propriétaire du nom de domaine supernom.com de 2004 à 2006, puis l'a abandonné à cette date.

    Mais immédiatement, avant qu'il ne retombe dans le domaine public, son revendeur de DNS (appelons-la la société YYY) a immédiatement repris le nom pour en être propriétaire. Le second (ou principal...) but de la société YYY est d'acheter des noms de domaine pas cher pour les revendre extrèmement chers. Certaines sociétés américaines sont spécialistes en ce domaine.

    Mais ce qui me dérange aujourd'hui, c'est de voir lorsque j'interroge un whois, la société YYY propriétaire de 2004 à maintenant ! Je sais que ce n'est pas vrai, et je souhaiterais connaître les moyens pour prouver qu'auparavant c'était une autre société (XXX) qui utilisait ce domaine.

    Pour compliquer le tout, je ne sais non plus pas comment retrouver la société XXX puisqu'auparavant je pensais les trouver via le domaine supernom.com...

    Merci à vous

    lionel

  6. Bonjour,

    Je ne voudrais pas lancer un troll ;)

    le php évite d'alourdir les requetes

    ... mais il me semble que les recommandations sont à l'inverse : faire le maximum d'opérations sous mysql plutôt que sous Php.

    Regarde ton code : tu utilises une fonction que tu crées, avec 3/4 lignes, pour arriver à tes fins, alors que la solution préconisée n'est que quelques caractères dans ta requête : au lieu d'écrire

    SELECT ma_date ...

    tu écrirais

    SELECT DATE_FORMAT(ma_date, '%a, %d %M %Y %H:%i:%s GMT')...

    Si tu veux, puisque tu en parles, on peut comparer les performances avec l'appel à ta fonction de 4 lignes...

  7. Bonjour, est-ce que ça ne serait pas un bug temporaire par exemple de ton hébergeur, et qui disparaîtra tout seul sans rien changer (ça peut paraître bizarre ce que j'écris, mais si j'en parle, c'est parce que ça m'est arrivé...)

  8. Re-salut,

    Tu as quand même regardé ce que faisait drupal ? C'est vraiment complet. Sinon, il faut chercher sur des sites de scripts prêts à l'emploi.

  9. Bonjour,

    Ce sont de vieilles utilisations de code, qui ne sont pas totalement correctes. Je n'ai pas la totalité de ton code, mais je pense qu'elles vérifient soit que la variable retournée par la fonction existe, en testant si elle est différente de vide, voire de FALSE.

    Il vaudrait mieux écrire :

    //dir_texte('bill');
    if(is_null(dir_texte("")) || dir_texte("") === FALSE){
    echo "erreur<br />";
    }
    if(is_null(dir_texte("bill")) || dir_texte("bill") === FALSE){

    }

    En fait, regarde ce que ta fonction dir_texte retourne, et choisis soit is_null si elle retourne NULL ou rien, soit FALSE si elle retourne FALSE.

  10. Pardon, c'est vrai, j'ai oublié de changer le GROUP BY :

    comme tu recherches des photos de ta table p, tu dois faire un GROUP BY sur p aussi (je crois même que c'est facultatif et que tu peux le supprimer.

    Tu peux aussi remplacer tes jointures par LEFT JOIN.

    Ca devrait marcher, non ?

  11. Bonjour,

    Si tu débutes, et que tu souhaites quelque chose d'assez complet, tu peux commencer par voir drupal (par exemple, mais il y en a d'autres) :

    www.drupalfr.org

    Ensuite, avec le temps, tu verras si ça vaut le coup de programmer toi-même quelque chose (mais souvent ce n'est pas la peine de réinventer).

  12. Bonjour,

    Tu as donné tout seul la réponse sans t'en rendre compte :

    Le but de ma requête c'est d'aller chercher dans une table de photos (p_photos), des photos uniques

    Donc :

    SELECT ...

    FROM p_photos p !!!

    Ta requête (j'utilise left join par habitude, mais le problème ne porte pas dessus) :

    SELECT r.id_r, g.id_g, p.id_ph, g.donnees AS donneesG ,p.donnees AS donneesP
    FROM p_photos p
    INNER JOIN p_a_galerie_photo a ON p.id_ph=a.id_ph
    INNER JOIN p_galeries g ON g.id_g=a.id_g
    WHERE g.onscreen='o' AND p.onscreen='o'
    GROUP BY a.id_g
    ORDER BY RAND()
    LIMIT 6

  13. Bonjour,

    L'erreur provient de ta ligne :

    echo '<td valign="top"><div id="AccueilTitreInfo">'.$tablo_ac[$f]['titre'].'</div>'.str_replace('{{insert_date_accueil}}', display_date_boucle_accueil(), $tablo_ac[$f] ['article']).'<br /><br /></div></td>';

    En effet, tu ne peux pas mettre un echo qui doit afficher, entre autre parmi les caractères, ta fonction qui elle ne retourne pas un seul résultat (avec return par exemple). Il te faut la scinder.

    J'ai survolé ton code (je ne me suis pas apesenti sur ce qui est retourné ou affiché par ta fonction), mais essaye au moins ça, ça devrait te mettre sur la bonne voie :

    echo '<td valign="top"><div id="AccueilTitreInfo">'.$tablo_ac[$f]['titre'].'</div>'.str_replace('{{insert_date_accueil}}';

    display_date_boucle_accueil();

    echo $tablo_ac[$f] ['article']).'<br /><br /></div></td>';

  14. Bonjour,

    je ne sais pas trop. Je vais quand même tenter un conseil, tant pis si c'est pas ça, on aura essayé :

    Est-ce qu'au lieu de placer tes classes dans les <A..> il ne faudrait pas les mettre dans les balises <BODY> ?

    A part ça, si tu veux tester le nom de ta page automatiquement, tu peux utiliser la fonction PHP : $_SERVER['REQUEST_URI'] ou basename($_SERVER['REQUEST_URI']). Ce sont des variables qui sont déterminées automatiquement.

  15. Bonjour,

    Il me semble que l'erreur provient de ton "if(empty($erreur)" car tu lui as assigné la valeur d'un tableau vide ("array()"), ce qui n'est pas une valeur vide.

    Je te conseillerais d'écrire :

    if($erreur == array())...

    Si ce n'est pas ça l'erreur, peux-tu nous dire si la section "if(empty($erreur)" s'exécute normalement ? (tu n'as qu'à y glisser un echo "coucou !"; temporaire)

  16. Bonjour,

    Je te conseille dans un 1er temps de créer une page PHP comme tu voudrais que ta page PDF (ou word ou CVS/excel) s'ouvre et se présente.

    Ensuite, tu modifieras ton code pour l'adapter (mais tu vas devoir potasser pas mal de docs et y passer du temps. Si tu débutes, je te conseillerais d'abord de te familiariser avec PHP et mySql avant d'aller un peu plus loin).

    Pour PDF, je te conseille FPDF.

  17. Bonjour,

    Il te faut taper tes requêtes Mysql sous PHP, et les interprêter :

    (je ne détaille pas l'ouverture de la connexion)

    $TexteRequete = "SELECT champ1, champ2 FROM mabase";
    $resultat_requete = mysql_query($TexteRequete);
    while(list($champ_recupere_1, $champ_recupere_2) = mysql_fetch_row($resultat_requete)) {
    echo "<BR>Mon champ 1 vaut $champ_recupere_1";
    echo "<BR>Mon champ 2 vaut $champ_recupere_2";
    }

    c'est bon, ou ce n'était pas vraiment ça la question ?

    php/mysql

    Bonjour,

    Tu pourrais même te passer de la base de données dans un premier temps, et simplement regarder si ton fichier est présent dans ton répertoire (avec un nom qui ne prête pas à confusion, comme la juxtaposition de la date de naissance et du nom de famille.

    Le PHP suffit donc.

×
×
  • Créer...