Script simple php
xraptor
Messages postés
54
Statut
Membre
-
coeus Messages postés 3296 Statut Membre -
coeus Messages postés 3296 Statut Membre -
Bonjour,
J'aimerais gérer une base de donnée toute simple où je pourrais trier l'affichage selon différents critères un peu comme sur les sites marchands (prix, note, nom etc)
Je dispose d'un site joomla, je sais grosso modo insérer mes données dans mysql, la ou ca se complique c'est que je ne connais pas php, si vous avez des scripts ou des références a me communiquer merci pour votre aide.
J'aimerais gérer une base de donnée toute simple où je pourrais trier l'affichage selon différents critères un peu comme sur les sites marchands (prix, note, nom etc)
Je dispose d'un site joomla, je sais grosso modo insérer mes données dans mysql, la ou ca se complique c'est que je ne connais pas php, si vous avez des scripts ou des références a me communiquer merci pour votre aide.
5 réponses
-
<?php // Connexion à la base de données ; la variable $bd te sert de lien vers celle-ci. $bd = mysql_connect("localhost","mysql_user","mysql_pwd"); // Déclaration de la requête SQL $requete = "SELECT nom, surnom, mot_passe FROM Person"; $resultat = mysql_query($requete, $bd); // Récupérer tes résultats et les afficher while ($tab = mysql_fetch_array($resultat)) { print $tab['nom']; print $tab['surnom']; print $tab['mot_passe']; } ?>
Dis-moi si quelque chose te paraît flou, ça va me faire plaisir de te donner un peu plus de détails. ;-)
Note : si tu fais une requête qui ne retourne pas de résultat (par exemple un INSERT ou un UPDATE), tu n'as pas besoin de la boucle avec le mysql_fetch_array().
Elle n'est là que pour lorsque tu fais un SELECT.
Je n'en ai pas mis, mais je t'encourage à mettre par-ci par-là des if() qui vérifient tes étapes et qui te retournent un message d'erreur s'il y a lieu. Je te laisse faire ça à ton goût !-
-
-
Je ne suis pas sûr de comprendre ta question, veux-tu dire que, si par exemple on a la commande :
SELECT utilisateur_id id, utilisateur_nom nom, utilisateur_adresse adresse FROM ma_table;
on peut faire :
SELECT utilisateur_id id, utilisateur_nom nom, utilisateur_adresse adresse FROM ma_table ORDER BY id, nom;
au lieu d'un ORDER BY utilisateur_id, utilisateur_nom ?
Si là est la question, alors la réponse est oui.
Sinon, peux-tu la reposer en d'autres termes ? :S -
-
Ok je comprends ce que tu veux dire.
Dans ce cas, tu affiches l'entête de ton tableau normalement (avec echo ou print en PHP, par exemple) et tu mets le texte de l'entête dans un lien. Exemple de ce que ça devrait donner à la fin :<table> <tr> <th><a href="?ordre=utilisateur_id">ID</a></th> <th><a href="?ordre=utilisateur_nom">Nom</a></th> <th><a href="?ordre=utilisateur_adresse">Adresse</a></th> </tr> </table>
La valeur associée à "?ordre=" doit être un nom de colonne. Ensuite, dans ta requête SQL, tu changes pour :$ordre = (isset($_GET['ordre']) && $_GET['ordre'] != '' ? $_GET['ordre'] : 'utilisateur_id'); $requete = 'SELECT utilisateur_id, utilisateur_nom, utilisateur_adresse FROM ma_table ORDER BY ' . $ordre . ';';
Et tu n'as plus qu'à passer $requete dans un mysql_query. Ainsi, cliquer sur le lien rechargera la page, et ordonnera la table de la manière désirée.
Après, tu peux rajouter une variable dans tes liens (ex : <th><a href="<gras>?ordre=utilisateur_id&sens=ASC">ID</a></th></gras>) qui déterminera si la colonne doit être classée en ordre croissant ou décroissant. Dans ce cas il faudra que la variable $_GET['sens'] alterne entre ASC et DESC. Dis-nous si tu as des problèmes avec cette partie (si tu décides de l'implémenter bien sûr) mais j'ai confiance que tu comprendras comment faire ;)
-
-
www.w3schools.com/php/php_ref_mysql.asp
Et plus précisément :
www.w3schools.com/php/func_mysql_connect.asp
www.w3schools.com/php/func_mysql_query.asp
www.w3schools.com/php/func_mysql_fetch_array.asp
Je ne pense pas que tu auras de sitôt à te servir de bien d'autres fonctions que celles-là ;) -
J'ai dû mal avec lien.
Est ce que quelqu'un pourrais me donner un tout petit exemple?
merci -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Pour trier les données, tu peux rajouter par exemple:
$requete = "SELECT nom, surnom, mot_passe FROM Person ORDER BY nom ASC";