PHP/MySQL afficher une bd selon des critère.



  • Salut,

    voici ma base de données :

    id, jour, heure, nom.

    Je voudrait faire afficher tout ce que contient la table suivant le jour puis après suivant l'heure.

    Je sais pas comment faire :(

    Si quelqu'un peu m'aider.


  • Administrateur

    SELECT * FROM table WHERE champ=tarecherche ORDER BY jour AND heure



  • @caaptusss:

    SELECT * FROM table WHERE champ=tarecherche ORDER BY jour AND heure

    explique ce qu'il ya en rouge stp :P

    je comprend pas :(

    ps: je veu pas faire de recherche juste faire afficher des choses dans un ordre précis.

    mon code php/html :

    <?php
    mysql_connect("localhost", "****", "****");
    mysql_select_db("****"); ?>
    
    <table><tr>
    <th>Supprimer</th>
    <th>Jour</th>
    <th>Heure</th>
    <th>Artiste</th>
    <th>Lieu</th>
    <th>Image</th>
    </tr>
    
    <?php
    $enum = mysql_query('SELECT * FROM riom ORDER BY jour AND heure');
    while ($tab = mysql_fetch_array($enum)) 
    {
    ?>
    <tr>
    <td><?php print'<a href="rediger_news.php?modifier_news=' . $tab['id'] . '"><img src="non.jpg" border="0" /></a>'; ?></td>
    <td><?php echo stripslashes($tab['jour']); ?></td>
    <td><?php echo stripslashes($tab['heure']); ?></td>
    <td><?php echo stripslashes($tab['artiste']); ?></td>
    <td><?php echo stripslashes($tab['lieu']); ?></td>
    <td><?php echo stripslashes($tab['image']); ?></td>
    </tr>
    <?php } ?>
    
    	</table>
    

  • Administrateur

    le WHERE est optionnel.

    Il permet de sélectionner les entrées qui ont un certain état.

    Imagine une table suivant ce schéma :
    id login etat

    Id = numéro du compte
    login = le login
    etat = 1 actif et 0 innactif

    Si tu veux une liste de login ou l'état est actif, alors tu rajoute :

    WHERE etat='1' (puisque 1 est un état actif, la requête va te sortir tous les champs (SELECT *) de la liste qui correspondent au WHERE, dans l'ordre (ORDER BY) qui t'intérèsse.



  • ok sa c'est bon mais j'en aurait pas besoin.

    Sinon voici la page :

    http://tt.freeheberg.com/projet/list_prog.php

    Et j'ai edit mon autre post tu vera le contenu de ma page :P+

    Le pb c'est que sa ne fait pas dans l'ordre :(



  • ORDER BY jour,heure

    C'est pas AND

    (enfin c'était la cas dans mon dernier code…il m'avait généré des erreurs à cause de ça...)

    [edit] Et sinon, quel est l'ordre actuel? Celui des entrées dans la base de données? ou triés correctement mais seulement par jour? ou seulement par heure?



  • J'ai trié par jour et heure.

    Le problème c'est que sa tri que par heure pas pour les jour :(



  • ha si c'est bon c'est juste que sa met dans l'ordre alphabétique l'ordre des jours :(

    ya un moyen de remédié a cela ?


  • Administrateur

    Oui, rajouter un nouveau champ "numjour" et y mettre le numéro du jour. Ca sera alors classé numeriquement.



  • ou simplement un champs date avec le timestamp php (date()).
    Et tu as plus qu'à trier selon ce timestamp.



  • Au vu de tes connaissance qui semble basic en php, je te conseil de lire ceci:

    http://www.siteduzero.com/tuto-3-4-0-un … c-php.html

    Sa t'aidera a crée ton site ;)



  • Je l'ai déja lu :P

    Et merci de me dire que je suis un noob lol

    de plus c'est vrai mais je suis jeune je me rapelle pas de tout. Les études sont pour le moment plus importantes mais merci :P



  • @jonathan:

    Et merci de me dire que je suis un noob lol

    Bah, t'inquiète…
    Personnellement, avant d'être le crack de la programmation que je suis, il a fallu que je passe par une étape où j'était aussi un noob (ça a duré deux jours, d'accord, mais bon...)

    ce message contient un élément un peu exagéré…le trouverez-vous?



  • avant d'être le crack de la programmation que je suis

    et

    (ça a duré deux jours, d'accord, mais bon…)

    :lol:



  • @mangas-a-donf:

    avant d'être le crack de la programmation que je suis

    et

    (ça a duré deux jours, d'accord, mais bon…)

    :lol:

    +1 xD



  • Plus sérieursement,

    (line 57 => )```
    mysql_query(SELECT * FROM riom WHERE jour=lundi ORDER BY heure);

    
    message d'erreur :
    
    > Parse error: syntax error, unexpected T_STRING in /home/tt/www/projet/programmelundi.php on line 57


  • en faite si c'est bon :P

    Maintenant j'ai un autre problème.

    voici mon code :

    <div id="photoartistes"><?php print '<a href="artistes.php"><img src="$donnees['image']" width="60" height="60" /></a>' ?></div>
                 <ul><h4><?php <a href="artistes.php">print '$donnees['artiste']</a>                <br />'
                     print '$donnees['heure']' print'$donnees['lieu']<br />'?>
    

    avant ce code je fait une boucle pour récupérer les infos sa me met ceci :

    Parse error: syntax error, unexpected '<' in /home/tt/www/projet/programmelundi.php on line 61

    comme message d'erreur.

    EDIT : C'est print '$donnees['heure']' qui ne marche pas :(



  • Enormément de fautes d'inattention.

    • A la fin de chaque instruction php, mettre des points virgule.

    • Utiliser l'opérateur . (point) pour concaténer des chaines de caractères.

    • Toujours entourer les chaines de caractères par des guillemets ou par des apostrophes.

    <div id="photoartistes"><?php print '<a href="artistes.php"><img src="'.$donnees['image'].'" width="60" height="60" /></a>'; ?></div>
                 <ul><h4><?php print '<a href="artistes.php">'.$donnees['artiste'].'</a>                <br />';
                     print $donnees['heure'].$donnees['lieu']<br />'; ?>
    


  • nan mais c'est bon j'ai trop de mal ce soir :P

    j'avais la réponse sur la page d'a coté :(

    merci quand meme et je vais me couché ++



  • Bon cette fois si je suis belle et bien bloqué :P

    <?php
    $page = $_GET['jour'];
    if($page = 'lundi')
    {
    	print '<h2 align="center">Programme<br /></h2>';
    	print '<h2 align="center">Lundi 25 Juillet<br /></h2>';
    	?></div>
    	<div id="texte"></ul>
    	<?php mysql_connect("localhost", "tt", "cgo3abd");
    	mysql_select_db("tt");
    	$retour = mysql_query("SELECT * FROM riom WHERE jour='lundi' ORDER BY heure");
    	while ($donnees = mysql_fetch_array($retour)) 
    	{ ?>
    	<div id="photoartistes"><?php print '<a href="artistes.php"><img src="'.$donnees['image'].'" width="60" height="60" /></a>'; ?></div>
    	<ul><h4><?php print '<a href="artistes.php">'.$donnees['artiste'].' </a><br />';
    	echo stripslashes($donnees['heure']);
    	echo " - ";
    	echo stripslashes($donnees['lieu']); ?><br />
    	<br /><br /></p></h4></ul>
    	<?php }} ?>
    

    Lorsque je clik sur le lien programme.php?jour=lundi sa marche mais si je clik sur programme.php?jour=mardi sa affiche aussi le lundi :(

    Je pense que le if avec le jou ne marche pas sachant que je mélange php et html nan ?


Log in to reply