Extraire rapidement les informations d'une table mysql

Soyez le premier à donner votre avis sur cette source.

Vue 7 147 fois - Téléchargée 549 fois


Description

Je suis conscient que l'optimisation de ce code, laisse a désirer, mais à la fois on prend tout alors bon ...
Il se destine principalements aux debutants.
L'objectif est d'extraires toutes les informations d'une table.
Pour celà 2 methodes : print_r et foreach.

Source / Exemple :


<?php

 // Params.php

$serveur = 'localhost';
$utilisateur = 'utilisateur1';
$mdp = 'mot_de_passe';

function afficher($base,$table) {
include('params.php') or die('Erreur lors de l\'inclusion des parametres');

mysql_connect($serveur, $utilisateur, $mdp) or die('Echec de connexion au serveur');
mysql_select_db($base) or die('Erreur de selection de la base. <br />'.mysql_error());

$sql = 'SELECT * FROM table';
   $mqsql = mysql_query($sql) or die('Erreur SQL ! <br />'.mysql_error());

   while ($donnees = mysql_fetch_array($mqsql, MYSQL_ASSOC))     {
     foreach($donnees as $truc => $element)  {

      echo $truc.' vaut ' . $element . '<br />';
                                                     }
mysql_close();

}

function afficher2($base,$table) {
include('params.php') or die('Erreur lors de l\'inclusion des parametres');

mysql_connect($serveur, $utilisateur, $mdp) or die('Echec de connexion au serveur');
mysql_select_db($base) or die('Erreur de selection de la base. <br />'.mysql_error());

$sql = 'SELECT * FROM table' or die('Erreur de selection des infos. <br />'.mysql_error());
   $mqsql = mysql_query($sql);

   while ($donnees = mysql_fetch_array($mqsql))    {

      echo '<pre>';
      print_r($donnees);
      echo '</pre>';
                                                    }

mysql_close();

}

?>

Conclusion :


On va utiliser un fichier params qui contiendra les parametres pour la connexion a la base de donnée.
La premiere solution se connecte donc à la base de donnée, selectionne toutes les informations de la table, les met dans un tableau ( mysql_fetch_array )
Ensuite on parcoure ce tableau grace a la fonction foreach, et on affiche, si truc n'est pas un nombre. J'ai du ajouter ce bricolage sinon j'avais un bug qui affichait :
0 vaut 1, l'affichage normal, puis 1 vaut la valeur precedente etc ...
C'est restrictif si l'un de vous utilise des noms de tablea numériques, mais j'en doute.
La seconde page elle se base sur print_r : et permet d'afficher un tableau facilement.
Notez l'utilisation des balises <pre> sans quoi le texte ne serait pas formaté.

Je ne sais pas trop dans quelle catégorie mettre la source, ni trop quoi poster, raison pour laquel je suis plutot effacé sur ce site. Car trop souvent on voit : déjà vu ici, mais en mieux ...
j'ai un peu cherché ça sans le trouver, donc je poste.
Pour info : j'ai affiché avec cette fonction une table de 12 enregistrements et 53 colones en 0.01428 secondes.

En esperant que ça vous apprenne quelque chose,
Fser

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
Euh, pas de standard t'es malin, évidemment qu'il y en a un! Avant de créer un langage, tu définis son interface (syntaxe, librairies, protocoles de communication et d'interprétation). C'est juste que comme MS est seul à l'exploiter, forcément il n'y a qu'un seul module serveur. Ce n'est pas un mal en soit!

D'ailleurs, à ma connaissance, il n'y a pas d'interpréteur PHP non-officiel largement utilisé... donc c'est kif kif. Juste une histoire d'aimer l'open source ou pas... pour moi c'est tout vu.

Intéressants les commentaires... Blackwizzard a bien résumé d'ailleurs, dommage que Nix ait baqué les comments d'ailleurs.
coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
29 -
je disais ça pour la raison suivante :

l'asp est un langage créé mar microsoft je crois... (arrètez moi si je me trompe) donc, un seul interprèteur, donc pas de standar...

pour le html, js et css, il a oublié de se renseigner sur le fait qu'il existe des standars et que ces standars sont respèctés par gecko ou khtml (opera, je sais pas, j'ai jamais testé) et non par ie
cs_windu
Messages postés
282
Date d'inscription
vendredi 16 mai 2003
Statut
Membre
Dernière intervention
19 juillet 2006
-
coucou747> je ne pense pas que le fait qu'il programme en ASP, ou en PHP joue vraiment...
Car dasn les 2 cas, c'est du texte qui est renvoyé par ces 2 langages! non, la où ca peu coincer, c'est au niveau des balises HTML, du css et/ou du javascript
coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
29 -
nix ne programmes qu'en asp ?
(l'asp est-il un langage standardisé ???)

enfin bon, selon moi, quand on code bien, ça passe sous tout rendu gecko ou khtml... pour qu'une page passe sous ie, faut ajouter le facteur chance et longueur de la page...
fser
Messages postés
74
Date d'inscription
vendredi 26 septembre 2003
Statut
Membre
Dernière intervention
23 avril 2005
-
Merci pour vos optimisations :)
pour info, commentaires ici.
http://linuxfr.org/~MrMax/17211.html

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (fser)