Aller au contenu

stever34

Webmaster Régulier
  • Compteur de contenus

    60
  • Inscrit(e) le

  • Dernière visite

Messages postés par stever34

  1. Sur la page externe a mon site (serveur)

    http://www.quid.fr/communes.html?mode=deta...amp;style=fiche

    je tente de trouver dans le code source (html) de la page la ligne qui contient le mot clef "Nom de la commune"

      $line=fgets($file,1024);
    while(!strstr($line,"Nom de la commune"))

    en suite je tente de recupérer dans cette ligne les caractères contenus entre les balises <strong>

     ereg("
    (<strong>[alpha]-[alpha]</strong>)</b>",$line,$no);

    pour enfin afficher le nom de la commune grace a la variable $parser (sur mon site)

    echo $parser->get_nom_commune();

  2. (Nom mais c'est pour avoir un exemple)

    ce la peut s'adapter au loto

    ou meme a son propre site perso, le but étant de connaitre la méthode du parsing appliqué a un exemple.

    Les info intéressantes a récupérer sont :

    <table class="donneesprincipales">
    <tr>
    <td><h4>Nom de la commune</h4><strong>Lisle-en-Rigault</strong></td>
    <td><h4>Région</h4><a href="./regions.html?mode=detail&reg=57" title="fiche de la région">Lorraine</a></td>
    <td><h4>Département</h4><a href="./departements.html?mode=detail&dep=55&style=fiche" title="fiche du département">Meuse</a> (55)</td>

    <td><h4>Code postal</h4><a href="./communes.html?mode=query&req=55000&style=fiche&zoom=1" title="toutes les communes ayant ce code postal">55000</a></td>
    </tr>
    </table>

    Il faut donc analyser avec un script : parser.php

    <?php
    class parser {

    var $filename;

    function parser($filename) {
    $this->filename=$filename;
    }

    function get_nom_commune() {
    $file=fopen($this->filename,"r");
    if (!$file) { echo "<p>Impossible d'ouvrir le fichier</p>.\n"; exit; }
    $line=fgets($file,1024);
    while(!strstr($line,"Nom de la commune")) {
    $line=fgets($file,1024);
    }
    fclose($file);
    ereg("<br>(<strong>[alpha]-[alpha]</strong>)</b>",$line,$no);
    return $no[1];
    }

    }
    ?>

    puis l'afficher page.php

    <?php 
    require "parser.php";
    $parser=new parser("http://www.quid.fr/communes.html?mode=detail&id=21332&req=Lis&style=fiche ");
    ?>

    <html>
    <head>
    <title>Nom commune</title>
    </head>
    <body>
    <center>
    <h1>Le nom est</h1>
    <h2><font color="blue"><?php echo $parser->get_nom_commune(); ?></font></h2>
    <h2>1er exemple</h2>

    </center>
    </body>
    </html>

    Mais ca marche pas SOS

  3. Le theme parser n'est peut etre pas bon, on tous cas ce que je veux faire c'est enregistrée des info d'un site pour construire une base de donnée.

    si quelqu'un a un exemple de methode pour enregistrer des info d'un page avec le script je devrai pouvoir l'adapter a mon cas.

  4. Bonjour je viens de découvrir qu'il est possible de parse des pages internet

    j'avoue que je suis perdu personne n'aurais un petit coup de pouce a me donner pour récupérer par exemple sur la page suivante :

    http://www.quid.fr/communes.html?mode=deta...amp;style=fiche

    les info suivantes :

    Nom de la commune : Lisle-en-Rigault

    Superficie : 1054 hectares

    Altitude : 187 mètres

    et les enregistrer dans un fichier

    idem pour toutes les communes

    sachant que je peux avoir la liste des communes (qui est la variable de la regete).

  5. Ok merci pour l'info

    et concernant les superficie des communes si quelqu'un a une info ?

    idem pour les coodonnées (longitude latitude)

    car sur le site de l'ing y a rien a telecharger...

  6. merci pour l'info mais j'ai passé l'aprem sur ec site

    il ne donne les info que ville par ville pas dans un seul tableau ce qui fait 36 000 * 3 min pour tout relever

    et en plus il n'y a pas les superficies.

    sur www.quid.fr il y a tout ce que je veux mais c'est pire la il me faut 36 000 * 5 min pour tout faire a la main pas top top ???

    entre () c'est possible un script qui pompe et enregistre toutes les pages, enfin pas tout le contenue juste que les info qui intéresse lol. faut passer une page apres l'autre...

    Et en plus y a pas les surface sur insee.fr il faut apres aller sur ign.fr et recommencer a la main 36 000 * 3 min

    :P

    Upload

    Salut

    J'aimerai envoyer un fichier contenant des info dans une base de données.

    Je viens de trouver cela sur la documentation MySQL

    LOAD DATA [LOW_PRIORITY | CONCURRENT]

    [LOCAL] INFILE 'nom_de_fichier.txt'

    [REPLACE | IGNORE]

    INTO TABLE nom_de_table

    [FIELDS
    [TERMINATED BY '\t']
    [[OPTIONALLY] ENCLOSED BY '']
    [ESCAPED BY '\\' ]
    ]

    [LINES TERMINATED BY '\n']

    [IGNORE nombre LINES]

    [(nom_de_colonne,...)]

    Si y a quelqu'un qui a l'habitude de faire des upload de fichier pouvez vous me commenter (en français simple, pas en jargon d'info) chaque ligne en expliquant leur role et s'il faut tout mettre ou s'il y a des truc optionnel.

    Au fait ou dois je mettre mon fichier texte ?

    le chemin du fichier s'écrit à partir d'ou (du dossier qui contient le script, du dossier qui contient MySQL...).

  7. Oui merci la confusion vient bien du fait que les 2 variables portent le meme nom mais qu'en réalité ce ne sont pas les même variable.

    mais c'est toujours pas clair a 100 %

    Dans la fonction j'ai $volumelocal, qui n'existe que dans la fonction.

    quand le script exécute la ligne

    $volumelocal = $rayon * $rayon * 3.14 * $hauteur * (1/3); // calcul du volume

    Il fait bien le calcul ? donc $volumelocal existe.

    return $volumelocal;

    return renvoie la variable $volumelocal a qui ??? puisque en dehors du script ma variable ne s'appelle plus pareil $volumeglobal

  8. Bonjour

    je ne comprend pas l'intéret de RETURN

    <?php 
    // Ci-dessous, la fonction qui calcule le volume du cône
    function VolumeCone($rayon, $hauteur)
    {
    $volume = $rayon * $rayon * 3.14 * $hauteur * (1/3); // calcul du volume
    return $volume;
    }

    $volume = VolumeCone(3, 1);
    echo "Le volume d'un cône de rayon 3 et de hauteur 1 est de $volume";
    ?>

    c'est quoi le role de return il envoie la valeur a qui ???

  9. Bonjour

    Pour des raison de sécurité il est souvent conseillé de faire fichier contenant les données localhost, motdepasse, login puis de l'inclure dans le script.

    Mais si quelqu'un arrive a lire le script.php pour voir le mot de passe qu'est ce que ca change de sortir les paramètre pour les isoler dans un fichier config.php

    Puisque s'il arrive a voir le code source de script.php il n'aura pas de mal a lire le code source de config.php ????

  10. Salut avec mes petit moyen voici ce que j'arrive a faire

    create table codpostal
    (
    cp_codpos char(10) not null,
    cp_ville char(30) not null,
    cp_pays char(3),
    cp_noinsee char(10) not null,
    cp_bureaudist char(30) not null
    );

    create index cp_codpos on codpostal (cp_codpos);
    create index cp_ville on codpostal (cp_ville);
    create index cp_noinsee on codpostal (cp_noinsee);
    create index cp_bureaudist on codpostal (cp_bureaudist);

    INSERT INTO codpostal VALUES('01400', 'L ABERGEMENT CLEMENCIAT', '100', '01001', 'L ABERGEMENT CLEMENCIAT');
    INSERT INTO codpostal VALUES('01640', 'L ABERGEMENT DE VAREY', '100', '01002', 'L ABERGEMENT DE VAREY');
    INSERT INTO codpostal VALUES('01090', 'AMAREINS', '100', '01003', 'AMAREINS FRANCHELEINS');
    INSERT INTO codpostal VALUES('01500', 'AMBERIEU EN BUGEY', '100', '01004', 'AMBERIEU EN BUGEY');
    INSERT INTO codpostal VALUES('01330', 'AMBERIEUX EN DOMBES', '100', '01005', 'AMBERIEUX EN DOMBES');
    INSERT INTO codpostal VALUES('01300', 'AMBLEON', '100', '01006', 'AMBLEON');
    INSERT INTO codpostal VALUES('01500', 'AMBRONAY', '100', '01007', 'AMBRONAY');
    INSERT INTO codpostal VALUES('01780', 'AMBUTRIX', '100', '01008', 'AMBUTRIX');
    INSERT INTO codpostal VALUES('01300', 'ANDERT ET CONDON', '100', '01009', 'ANDERT ET CONDON');

    Si je crée un fichier txt

    ou sur chaque ligne une VILLE avec ces champs séparé par une virgule

    comment faire pour automatiser l'envoie

    '01500', 'AMBRONAY', '100', '01007', 'AMBRONAY'

    '01780', 'AMBUTRIX', '100', '01008', 'AMBUTRIX'

    '01300', 'ANDERT ET CONDON', '100', '01009', 'ANDERT ET CONDON'

    Faut que je lance LOAD DATA INFILE "nomdufichier.txt" INTO TABLE nomdelatable;

    cette commande lit le fichier texte et insère dabs la table.

    Les champs doivent être séparés par des tabulations et entouré d'apostrophe chaque ligne étant séparé par une séquence de nouvelle ligne \n

    et les caractère spéciaux doivent être échappés par \

    C'est bien quand on a fait le fichier texte en connaissant cela

    mais si on a un fichier texte ou les champs ne sont pas séparé par des tabulation mais par des virgules et que chaque ligne n'est pas séparé par \n mais juste par un retour chariot

    On fait comment (vous voyer je fais plein déforts)

    LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' 
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [FIELDS
    [TERMINATED BY '\t']
    [[OPTIONALLY] ENCLOSED BY '']
    [ESCAPED BY '\\' ]
    ]
    [LINES
    [STARTING BY '']
    [TERMINATED BY '\n']
    ]
    [IGNORE number LINES]
    [(col_name,...)]

    j'ai aussi trouvé cela mais j'ai pas les connaissances pour comprendre tout ce que cela veut dire en français depuls j'ai l'impression que la je suis dans le SQL et moi je fait tout depuis des pages php (je vais pas dans SQL passer des commande directement je fait que des requetes depuis php)

  11. peux tu m'expliquer pourquoi

    est ce que c'est parceque je vais avoir plusieurs fois le meme nom de département dans la table COMMUNE.

    Je sent que c'est pour cela, mais je sais pas m'expliquer pourquoi, quelles sont les conséquences ?

    Pourquoi ???

  12. Bonjour, c'est parti...

    Je veux enregistré des noms de villes, leur code postal et leur nom de département.

    Dois je faire une seule table VILLE, dans laquelle l'info département sera forcement répété plusieur fois.

    Ou faut il aussi faire une table DEPARTEMENT

  13. Mon hebergeur à la version MySQL4.1+

    Donc je peux l'utiliser, mais qu'elle est l'intéret d'utiliser msqli ?

    Il doit bien y avoir une raison, un intéret ?

    Pour l'utiliser il suffit de mettre des i chaquefois qu'un voit msql

    msql -> hop msqli

  14. Salut je souhaite créer ma premiere table grace a PHP

    Mais pour cela faut que je me connecte a ma base de donnée, trop facile...

    Sauf que plus je regarde des livres plus, je ... :wacko::sick:

    Dans CampusPress pas un mot sur la connection, ils passent directement a la création de la table

    Concernant la connection juste une ligne de commande SQl sans expliquer comment la mettre dans du PHP

    msql -h host -u nomdelabase -D nomdelatable -p

    Avec ca ca mefait une belle jambe.

    Dans microapp

    $liendb = mysql_connect("localhost","root", "motepasse");
    mysql_select_db ("nomdelabase");

    Donc je voulais savoir si cette méthode est bonne ?

    Car plus loin dans Campuspress ils disent qu'il faut mieux utiliser msqli que mysql

    Quel est l'intéret d'utiliser mysqli

    et le code pour se connecter devient il tout simplement

    $liendb = mysqli_connect("localhost","root", "motepasse");
    mysqli_select_db ("nomdelabase");

  15. derniere question apres je me lance dans un peu de programmation et decouvrir par des cas concret.

    Mais avant j'aimaerais avoir votre avis et critiques constructives sur les différentes méthode 1°), 2°), 3°) + méthode Portekoi + méthode captain_torche

    Fort de ces explications et soulagé de toutes ces question je me lancerai en toute connaissance de cause ???

    wroum wroum

  16. si j'ai 1000 intro

    et 2 corps de texte

    j'ai donc 1000 ligne

    Alors quand je selection un corps de texte il prend au hazard parmis les 1000 lignes d'ou d eforte chances d'être vide ou il est super balaise et il ne prend au hazard que parmis les 2 existantes

  17. Merci

    Concernant Merise pour le moment je suis pas assez familiarisé avec le jargon informatique pour suivre toutes les subtilitées.

    Petite question, aller un de plus :whistling:

    Si je souhaite afficher un bloc texte (intro, corps et bas de page) au hazard

    1°) il faut mieux

    creer un table "intro" et prendre au hazard une ligne de la table

    creer un table "corps" et prendre au hazard une ligne de la table

    creer un table "bas d epage" et prendre au hazard une ligne de la table

    2°) ou il faut mieux

    creer un table "texte" avec une colonne "intro", une colonne "corps", une colonne "bas de page"

    et prendre au hazard une ligne pour "intro"

    et prendre au hazard une ligne pour "corps"

    et prendre au hazard une ligne pour "bas de page"

    (seul prob il faut surement le meme nombre "d'intro" que de "corps" et que de "bas de page".

    3°) ou il faut mieux

    creer un table "texte" avec une colonne "intro", une colonne "corps", une colonne "bas de page"

    et ne pas enregistrer des varaibles dans "intro", "corps'" et "bas de page"

    mais plutot des tableaux ou

    $intro contient X "intro"

    $corps contient Y "corps"

    $basdepage contient Z "bas de page"

    et on prend au hazard une valeur dans chaque tableau.

    Wouw j'ai le cerveau qui fume

    Donc pour commencer est ce que les 3 méthodes sont possibles, car n'ayant aucune pratiques, ca se trouve je fais fausse route.

    Si c'est OK quels sont les avantages et les inconvégniants des différentes méthodes, car je commence a comprendre qu'il y a 50 façons de faire la même choses et que chaque méthode a ses pour et ses contres. Cela est souvant liée à d'autres paramètres (grosseur du site...) mais pour faire un choix faut connaitre des + et les -

    Et si vous avez bien compris ce que je voulais faire, il existe surement encore une autre méthode plus efficace...

  18. Salut, il existe deux méthode pour ebnvoyer des information dans mon petit manuel du PHP on m'explique que get envoie les info a travers l'URL alors que Post reste plus discret.

    Poste est présenté comme un get mais en mieux.

    Alors pourquoi ne pas toujours employer POST quels sont ses déséventages ?

  19. Voila j'ai définit ce que je souhaite faire

    Une page accueil.php

    dans la quelle je vais inclure

    $intro (1 bloc au hazard parmis parmis un certain nombre de bloc texte)

    $corps (1 bloc au hazard parmis parmis un certain nombre de bloc texte)

    $fin (1 bloc au hazard parmis parmis un certain nombre de bloc texte)

    Comme ca j'ai une page accueil aléatoire qui va chercher 3 varaibles au hazard dans ma base de donnée

    je commence a comprendre l'intéret des BD

    idem pour presentation.php idem pour contact.... idem pour toutes les autres pages...

    Et en plus je peux en retour enregistré des info du style bloc intro_accueil affché une fois....

    Dans ce cas plus complexe comment structurer la BD

×
×
  • Créer...