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
24 févr. 2005 à 17:21
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.
24 févr. 2005 à 12:38
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
24 févr. 2005 à 09:51
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
24 févr. 2005 à 01:36
(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...
24 févr. 2005 à 00:41
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.