#16 15-10-2005 23:13:23

christophe
Survivors
Date d'inscription: 30-07-2005
Messages: 1553

Re: [php] Parsing de fichier csv

Bon, j'essaye de récapituler ce que j'ai fait et compris et de faire le point sur ce que je n'ai pas compris.

J'ai crée un dossier fleur avec sql.php et index.php (le parser csv)
J'ai créer la table bebloom (je me demande comment on trouve les champs ?)

Ensuite lorsque j'ai appelé mon index.php, ça m'a rempli ma table avec 59 entrées (pas mal je reste bluffé) smile

Mais ensuite, je n'ai toujours pas le même site que Sid, d'ailleurs je n'ai rien .... mad

Donc le truc c'est quoi, il faut se taper toutes les requetes manuellement ?
Y a t-il des exemples qui trainent ?


Le L'annuaire gratuit est dans son coffre fort pas loin de Twikeo ??? avec son chat

Hors ligne

 

#17 15-10-2005 23:26:58

coyote
Moderateur -
Lieu: le Perche
Date d'inscription: 22-06-2005
Messages: 2252
Site web

Re: [php] Parsing de fichier csv

le fichier de Sid c'est juste fait pour envoyer les csv sur ta bdd pas pour les afficher sur une page
me demande pas comment faire j'en suis encore a ecrire <?php en php lol


Boxe thai + Ok Bébé au Poker en ligne = plus de
sos croquettes

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 414

#18 15-10-2005 23:30:53

christophe
Survivors
Date d'inscription: 30-07-2005
Messages: 1553

Re: [php] Parsing de fichier csv

Et dire qu'en faisant ça je pensais naïvement que j'aurais quelque chose comme :
http://www.livraison-fleurs.net/ roll

Bon bin c'est pas gagné, je vais me replonger dans mes tutos si je veux en faire quelque chose de mieux qu'une frame wink

Encore une question, si à la place d'un fichier .txt, j'ai du .csv ou .xml ou excel, il faut faire la même manip ?

Merci


Le L'annuaire gratuit est dans son coffre fort pas loin de Twikeo ??? avec son chat

Hors ligne

 

#19 15-10-2005 23:48:59

coyote
Moderateur -
Lieu: le Perche
Date d'inscription: 22-06-2005
Messages: 2252
Site web

Re: [php] Parsing de fichier csv

oui c'est pareil mais je pense pas qu il prenne tout les formats ce script mais tu aurai peut etre plus vite fait de les mettre sur une page html plutot que de les mettre dans un bdd pour si tu peu wink


Boxe thai + Ok Bébé au Poker en ligne = plus de
sos croquettes

Hors ligne

 

#20 15-10-2005 23:53:25

Siddartha
Administrateur
Lieu: Paris et #66valley ☼
Date d'inscription: 20-06-2005
Messages: 2988
Site web

Re: [php] Parsing de fichier csv

Arf smile

Non, ce script permet uniquement de prendre le contenu d'un fichier csv et de l'insérer dans une table d'une base de données.

Je vous ai livré le script tel que pour le csv de Bebloom, par contre si vous utilisez le csv d'interflora par exemple, il vous faudra juste modifier dans le script PHP l'insertion MYSQL qui est faite (INSERT INTO etc)

Hors ligne

 

#21 16-10-2005 12:03:53

Americas
Survivors
Lieu: Argentine
Date d'inscription: 04-07-2005
Messages: 4603
Site web

Re: [php] Parsing de fichier csv

Les faire rentrer dans la base c'est une chose... les resortir de la base c'en est une autre...
Bon... on pourra dire qu'on les aura mis en conserve... les faire apparaitre c'est une autre histoire lol

Hors ligne

 

#22 16-10-2005 15:51:00

tom_sawyer
Search & Replace
Lieu: Lyon
Date d'inscription: 29-09-2005
Messages: 2068
Site web

Re: [php] Parsing de fichier csv

Pour les faire afficher une fois que c'est dans la table bebloom
http://www.phpdebutant.org/article66.php

c'est pas bien compliqué même moi j'y suis arrivé lol
Par contre je n'arrive pas encore à sauter la première ligne de la table à l'affichage des données.

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 313

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 414

#23 16-10-2005 16:26:29

coyote
Moderateur -
Lieu: le Perche
Date d'inscription: 22-06-2005
Messages: 2252
Site web

Re: [php] Parsing de fichier csv

tom_sawyer a �crit:

Pour les faire afficher une fois que c'est dans la table bebloom
http://www.phpdebutant.org/article66.php
.

On vois ta cullote Tom lollollol


Boxe thai + Ok Bébé au Poker en ligne = plus de
sos croquettes

Hors ligne

 

#24 16-10-2005 17:55:57

Siddartha
Administrateur
Lieu: Paris et #66valley ☼
Date d'inscription: 20-06-2005
Messages: 2988
Site web

Re: [php] Parsing de fichier csv

Tom, pour la première ligne de la table (qui ne contient effectivement que les noms de chaque colonne), il te suffit simplement d'aller dans Phpmyadmin et d'effacer la première ligne de ta base ;-)

Hors ligne

 

#25 16-10-2005 19:31:33

tom_sawyer
Search & Replace
Lieu: Lyon
Date d'inscription: 29-09-2005
Messages: 2068
Site web

Re: [php] Parsing de fichier csv

lol je suis nul j'y avais pas pensé ...merci

Hors ligne

 

#26 19-10-2005 12:15:07

Americas
Survivors
Lieu: Argentine
Date d'inscription: 04-07-2005
Messages: 4603
Site web

Re: [php] Parsing de fichier csv

A mon tour de montrer une fois de plus ma nullité big_smile

J'ai un code... pour afficher les produits... mais j'ai tous les produits qui s'affichent alors que je souhaite les afficher seulement 10 par 10 avec un lien vers la "page suivante" et "page précédente" le cas échéant.
J'ai bien compris qu'il fallait ajouter un while quelque part... mais je suis assez paumé hmm

Voici mon code :

Code:

<?php 
// on se connecte à MySQL 
$db = mysql_connect('serveur', 'user', 'password'); 

// on sélectionne la base 
mysql_select_db('base',$db); 

// on crée la requête SQL 
$sql = 'SELECT nom,description,lien,img,prix FROM bebloom ORDER BY prix'; 

// on envoie la requête 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 


// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data = mysql_fetch_assoc($req)) 
    { 
    // on affiche les informations de l'enregistrement en cours 
    echo '<b>'.$data['nom'].' '.$data['prix'].' €</b><br> '.$data['description'].''; 
    echo ' <a href='.$data['lien'].'>achat</a><br>'; 
    echo ' <img src='.$data['img'].'><br>';
    } 

// on ferme la connexion à mysql 
mysql_close(); 
?>

Faites pas attention à la mise en forme... je suis en phase d'essai big_smile

Hors ligne

 

#27 20-10-2005 17:04:10

Americas
Survivors
Lieu: Argentine
Date d'inscription: 04-07-2005
Messages: 4603
Site web

Re: [php] Parsing de fichier csv

Bon... vu l'engouement pour me répondre... je vais répondre à moi même big_smile

Code:

<table width="600">
<?
mysql_connect('seveur', 'user', 'password');
$requete = mysql_db_query("base" , "select * from table");
$total = mysql_num_rows($requete);
mysql_data_seek($requete,$start);

for($nb=$start+1;$record = mysql_fetch_object($requete);$nb++)
{
echo "<tr><td valign=top width=100>Bouquet n°$nb<br><br><center><b><font size=4 color=red>$record->prix €</font></b></center></td>";
echo "<td width=150><b>$record->nom</b><br><a href='$record->lien' target='_blank'><img src='$record->img' alt='Bouquet de fleurs' width='150' height='150' border='0'></a><br><br></td>";
echo "<td><p align=justify>$record->description</p>
<a href='$record->lien' target='_blank'><img src='../images/infos.gif' align='right' width='72' height='19' border='0'></a></td></tr>";
if($nb==($start+10)&&($nb<$total))
{
$reste = $total-$nb;
if ($reste>10){$reste=10;}
echo "</table><br><a href='essai.php?start=$nb'>voir les $reste bouquets
suivants</a>";
break;
}
}
mysql_free_result($requete);
?>
</table>

Si vous avez une idée avant que je me fasse une autre réponse quant à la manière d'afficher les 10 produits précédents... n'hésitez pas lol

Hors ligne

 

#28 20-10-2005 17:22:40

Ldo
Nouvel inscrit
Lieu: Lille
Date d'inscription: 20-10-2005
Messages: 4
Site web

Re: [php] Parsing de fichier csv

oulala
si je comprend bien (dsl j'arrive en cour de route) tu veut afficher 10 résultats par page
pour ce faire, tu récupère l'integralité de ta base, pour ensuite chercher les éléments à afficher.

faut pas faire comme ça.
MySql dispose d'un paramètre LIMIT

par exemple :
SELECT * FROM `table` LIMIT 0 , 30
cette requette ne renvoi que 30 résultats en commencant à la ligne 0

dans ton cas pour afficer 10 éléments par page
$requete = mysql_db_query('base' , 'select * from table LIMIT '.$start.', 10');
ou $start correspond à un paramètre envoyer dans l'url par exemple

Hors ligne

 

#29 20-10-2005 19:14:59

Americas
Survivors
Lieu: Argentine
Date d'inscription: 04-07-2005
Messages: 4603
Site web

Re: [php] Parsing de fichier csv

Le code que j'ai mis précédemment marche sans le LIMIT Ludovic...
le truc maintenant c'est de lui coller un retour aux 10 produits précédents quand le visiteur se trouve sur la page des produits 21 à 30 par exemple.

Hors ligne

 

#30 21-10-2005 09:46:09

Ldo
Nouvel inscrit
Lieu: Lille
Date d'inscription: 20-10-2005
Messages: 4
Site web

Re: [php] Parsing de fichier csv

tu as une variable $start dans ta boucle for, envoi un $start-$nbResultats en paramètre

sinon j'y reviens, pour afficher 10 résultats, tu selectionne l'integralité de la base !
si tu as 50 lignes, limite passe encore (si ca ne t'empeche pas de dormir ^^) mais si tu as plusieurs dizaine de milliers de résultats tu va le sentir passer.
ce que je veut dire, c'est que oui ca marche peut-être, mais il faut que tu utilise ce code en sachant à quoi t'attendre, que cela soit une décision réfléchie pour un besoin bien défini

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 R. Andersson