Ses derniers messages sur les forums
Modifie ton switch en conséquence donc.
Tu dis que ton champ priority va de critical à normal ?
Ca n'est pas logique, car dans ton switch, tu switch de 1 à 4, et pas de normal à critical.
La liste des jours fermés se trouve où ? En base de données ? En dur dans le code ?
Ben non, mais la, tu selectionnes qu'une seule ligne, donc tu ne dois voir qu'une ligne dans ton tableau, donc pas les 4 couleurs.
Il te manque aussi un <tr> (en commentaire dans ton code).
Je ne comprend pas vraiment ton soucis...
En gros, tu veux tester si le jour courant (ou bien une date quelconque) est un lundi ou un mardi (ou ...) c'est çà ?
Effectivement, tu as un problème d'accolades que je n'avais pas vu.
Voici ton code corrigé :
<?php
include "connection.php";
$req = mysql_query("select id, mfrom, subject, priority from incoming order by id desc limit 0,1") or die( 'Erreur '.$req.'<br>'.mysql_error() );
while ( $row = mysql_fetch_row( $req ) ) {
switch ($row['priority']) {
case 1 :
$couleur = '#4fce1c';
break;
case 2 :
$couleur = '#f2e910';
break;
case 3 :
$couleur = '#f89909';
break;
case 4 :
$couleur = '#e22112';
break;
}
echo '<table style="background-color:'.$couleur.';">';
// echo '<tr style="background-color:'.$couleur.';">';
echo '<td>'. $row[0] .'</td>'.'<br>'.'<br>';
echo '<td>'. $row[1].'</td>';
echo '<td>'.'<h1>'. $row[2].'</h1>'.'</td>';
echo '</tr>';
echo '</table>';
}
?>
$row['priority'] n'existe pas, il est la ton soucis.
mysql_fetch_row retourne un tableau indexé numériquement.
Il faut switcher suivant $row[3].
Sinon, utilise mysql_fetch_array ou mysql_fetch_assoc pour avoir un tableau indexé via les champs SQL que tu sélectionnes.
PS : vu que tu LIMIT 0,1 ce n'est peut-être pas nécessaire de faire un while ;)
La piste est simple, keika te l'a expliqué :
- quand tu affiches la galerie, tu affiches des liens sur chaque miniature qui pointent sur la page courante, avec en plus un paramètre GET qui te permettra d'identifier sur quelle image tu as clické (le nom de l'image par exemple)
- Une fois la galerie affichée, tu check si tu as ce fameux paramètre en GET, et si il est la, ben tu affiches l'image qui correspond à ce GET (si l'image correspondant à ce GET existe bien)
C'est horrible de faire une requete SQL dans une boucle.
Autant tout selecter d'un coup, et faire le tri derrière en PHP.
Les or die mysql_error(), ca se met sur les mysql_query et non sur la déclaration d'une chaine de caractère :/
Ensuite, ta première boucle ne sert à rien : elle te sert juste à compter le nombre d'éléments retournés par la requête, or mysql_num_rows le fait très bien.
Donc exécutes une seule fois ta requête (tu as deux mysql_query), calcule le nombre d'éléments retournés avec mysql_num_rows, et fais une seule boucle pour afficher les résultats.
Ensuite, pour le page par page, modifie ta requête avec le LIMIT, et utilise la fonction de page par page. (PS : si tu remarques bien grâce au comment faire, tu as aussi une autre requête à faire : un count(*) sans LIMIT pour connaitre le nombre total d'élément et ainsi définir le nombre de page à afficher).