Forum dédié au moteur de recherche et aux techniques d'optimisation par #taggle
Vous n'�tes pas identifi�.
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é)
Mais ensuite, je n'ai toujours pas le même site que Sid, d'ailleurs je n'ai rien ....
Donc le truc c'est quoi, il faut se taper toutes les requetes manuellement ?
Y a t-il des exemples qui trainent ?
Hors ligne
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
Hors ligne
Et dire qu'en faisant ça je pensais naïvement que j'aurais quelque chose comme :
http://www.livraison-fleurs.net/
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
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
Hors ligne
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
Hors ligne
Arf
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
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
Hors ligne
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é
Par contre je n'arrive pas encore à sauter la première ligne de la table à l'affichage des données.
Hors ligne
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
Hors ligne
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
Hors ligne
A mon tour de montrer une fois de plus ma nullité
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é
Voici mon 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
Hors ligne
Bon... vu l'engouement pour me répondre... je vais répondre à moi même
<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
Hors ligne
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
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
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