begin process at 2012 05 28 10:37:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Affichage différents selon requête SQL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Affichage différents selon requête SQL

lundi 21 février 2005 à 23:42:32 | Affichage différents selon requête SQL

wynelle

Bonjour à tous,

Et une galère de plus

J'ai une base de données plutôt simple avec les champs classiques (Nom, Prénom, Rue, ...., Premium).
J'aimerais lorsque je lance une requête s/un département par exemple que l'affichage des résultats de la requête commence par les données dont le champs "premium" = 1 avec un format tableau comme ci-dessous et que les autres données soit affichées en liste classique... tout en conservant mon affichage page par page.

Ci-joint mon codage actuel qui me donne les résultats avec un affichage sous forme de tableau spécifique mais je n'arrive pas à faire à ce que les données "premium"= 0 ne s'affichent pas de la même façon.

Merci d'avance pour toutes vos pistes car je commence à m'exciter grâve

Wynelle.

Ps : Désolé si ce n'est pas super bien codé, je n'ai aucun mérite car je m'inspire à gauche à droite ;-)

<?php
//partie de connexion a la bdd
$serveur = "localhost";
$login = "root";
$pass = "";
$connexion = mysql_connect( $serveur, $login, $pass );
mysql_select_db( "portail-bnb", $connexion );

$nb_results_p_page = 10; // nombre de résultats par page
$nb_avant = 3; // nombre de page avant la page courante
$nb_apres = 3; // nombre de page après la page courante
$premiere = 1; // aficher le lien "première page" (1 ou 0)
$derniere = 0; // afficher le lien "dernière page" (1 ou 0)
$courant = empty($_GET['page']) ? 1 : $_GET['page']; // page
$start = ($courant - 1) * $nb_results_p_page; // start (requete mysql)

// comptage du nombre de lignes de la base
$result = mysql_query("SELECT count(ID) FROM bnb_inscrits WHERE CP>=29000 AND CP<30000 AND TYPE!='G');
if(!$result)
{
     // redirection erreur
     header("location: erreur.php");
     exit;
}
$ret = mysql_fetch_array($result);
// nombre de lignes
$nb_results = $ret[0];

// exemple de requete
$result = mysql_query("SELECT ID,INTITULE,CP,VILLE,TEL,URL,DESCRIPTIF_LISTE,AFFILIATION,CLASSIFICATION,REPAS, PREMIUM FROM bnb_inscrits WHERE CP>=29000 AND CP<30000 AND TYPE!='G' ORDER BY `CP` ASC,`INTITULE` ASC LIMIT $start, $nb_results_p_page");

//=========================================
// si on a récupéré un resultat on l'affiche.
//=========================================
if($nb_results) {
// debut du tableau

echo '<TABLE width="495" bgcolor="#FFDB18" bordercolor="#000000" border="0" cellpadding="0" cellspacing="0"><TR><TD ALIGN="center">'."\n";

// lecture et affichage des résultats sur 2 colonnes

while($row = mysql_fetch_array($result)) {

echo '<table bordercolor="#FFFFFF" border="0" cellpadding="1" width="495">';
echo '<tr>';
echo '<td rowspan="3" height="70" width="105"><a href="http://'.$row['URL'].'" target="_blank"><img height="70" alt="'.$row['INTITULE'].'" src="images/Photos_B&B/'.$row['ID'].'.jpg" width="105" border="0"></a></td>';
echo '<td width="277" height="25" valign="middle"><b><a href="http://'.$row['URL'].'" target="_blank"><span class="list1"></span><font color="#FD740F" size="3">'.$row['INTITULE'].'</a></b>&nbsp;<img border="0" src="images/Divers/repas_'.$row['REPAS'].'.bmp" alt="Repas sur réservation => '.$row['REPAS'].'" width="22" height="22"></font></td>';
echo '<td align="right" width="106">&nbsp;<img border="0" src="images/Divers/'.$row['CLASSIFICATION'].'_epis.bmp" width="'.$row['CLASSIFICATION'].''.$row['CLASSIFICATION'].'" height="22"><span class="list3"><font size="1" face="Verdana">&nbsp;<img border="0" src="images/Divers/'.$row['AFFILIATION'].'_jaune.bmp" width="22" height="22" alt="Membre - '.$row['AFFILIATION'].'">&nbsp;</font></span></td>';
echo '</tr>';
echo '<tr>';
echo '<td colspan="2" width="387"><span class="list2"><font size="1" face="Verdana">'.$row['DESCRIPTIF_LISTE'].'</font></span></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="277"><span class="list3"><font size="2" face="Verdana">'.$row['CP'].' '.$row['VILLE'].'</font></span></td>';
echo '<td align="right" width="106"><span class="list3"><u><font size="1" face="Verdana">'.$row['TEL'].'</font></u></span></td>';
echo '</tr>';
echo '<tr><td colspan="3" width="495" height="10" bgcolor="#FFFFFF"></td></tr>';
echo '</table>'."\n";
}
echo '</TABLE>'."\n";
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($result);


// nombre total de pages
$nb_pages = ceil($nb_results / $nb_results_p_page);
// nombre de pages avant
$avant = $courant > ($nb_avant + 1) ? $nb_avant : $courant - 1;
// nombre de pages après
$apres = $courant <= $nb_pages - $nb_apres ? $nb_apres : $nb_pages - $courant;

// première page
if($premiere && $courant - $avant > 1)
     echo '<a href="' . $_SERVER['SCRIPT_NAME'] . '"><font size="1" face="Verdana"><span style="color: #0000FF;">Première</span></font></a>&nbsp;&nbsp;';
    
// page précédente
if($courant > 1)
     echo '<a href="' . $_SERVER['SCRIPT_NAME'] . '?page=' . ($courant - 1) . '"><font size="1" face="Verdana"><span style="color: #0000FF;">Précédente</span></font></a>&nbsp;&nbsp;';

// affichage des numéros de page
for($i = $courant - $avant; $i <= $courant + $apres; $i++)
{
     // page courante
     if($i == $courant)
        echo '<font size="2" face="Verdana"><span style="color: #FF0000;">' . $i . '</span></font>&nbsp;&nbsp;';
     else
        echo '<a href="' . $_SERVER['SCRIPT_NAME'] . '?page=' . $i . '"><font size="2" face="Verdana"><span style="color: #0000FF;">' . $i . '</span></font></a>&nbsp;&nbsp;';
}

// page suivante
if($courant < $nb_pages)
     echo '<a href="' . $_SERVER['SCRIPT_NAME'] . '?page=' . ($courant + 1) . '"><font size="1" face="Verdana"><span style="color: #0000FF;">Suivante</span></font></a>&nbsp;&nbsp;';
    
if($derniere && $courant + $apres < $nb_pages)
     echo '<a href="' . $_SERVER['SCRIPT_NAME'] . '?page=' . $nb_pages . '"><font size="1" face="Verdana"><span style="color: #0000FF;">Dernière</span></font></a>&nbsp;&nbsp;';

?>

mardi 22 février 2005 à 01:00:38 | Re : Affichage différents selon requête SQL

Anthomicro

Salut,

dans ta requête met : ORDER BY premium DESC à la fin

a ++


    mardi 22 février 2005 à 08:33:47 | Re : Affichage différents selon requête SQL

    wynelle

    Salut Anthomicro,

    Merci pour ta réponse mais cela ne ressout pas mon problème car même en filtrant par le champ "premium" à la fin, cela ne change par le mode d'afficchage pour ceux qui ne sont pas "premium"!

    Pour faire simple, les listés "premium" s'affiche dans un cadre de couleur et les "non-premiums" s'affichant eux classiquement en liste.

    Merci d'avance.

    @+


    Cette discussion est classée dans : page, echo, nb, courant, nbsp


    Répondre à ce message

    Sujets en rapport avec ce message

    HELP CODAGE / Affichage différent selon résultats requête [ par wynelle ] Bonjour à tous,Et une galère de plus J'ai une base de données plutôt simple avec les champs classiques (Nom, Prénom, Rue, ...., Premium).J'aimerais lo Bug affichage page par page :-(( [ par wynelle ] Bonjour à toutes et à tous,J'ai un problème avec un affichage page à page pour lier 2 requêtes. Seule la 2ème requête ($result) prend bien en compte u tjs mon probleme d'affichage page par par page!!!! [ par piervs ] Salut,Je vous avez deja poster ce message mais n'ayant tjs pas eu de solution fonctionnant je retente ma chance!!!J'ai un petit (en fait plutot gros) Problème de pagination [ par goboben ] Bonjour à tous!Voila mon problème, qui n'est pas insurmontable mais bien embetant...J'ai crée un diaporama avec affichage par page (precedente 1 2 3 4 Boite de réception de nouveau messages privés. [ par BenXbox ] Pour le moment j’ai mon script qui m’affiche sur 5 pages les 100 derniers messages dans l’ordre décroissant de ma boite de réception de nouveau messag Problème de pagination [ par speedylol ] Bonjour , j 'ai une petit problème avec ma pagination , depuis que je l'est rajouté mais donnée qui son dans ma base ne son plus extraite et je vois p problème d'affichage par page [ par 01cod10 ] Salut à tousLa première page s'affiche correctement mais qd je clique sur 2 rien ne s'affiche <span style= sortie une seule fois un double champs d'une table [ par speedylol ] bonjour voici mon probléme, j ai une liste de membres qui depose leur galerie dans la table galerie avec id_gal qui est egale au membre, j'aimerais l' moteur recherche probléme n'affiche rien [ par speedylol ] bonjour voilà j'ai un moteur de recherche  il n' affiche rien, j'ai besoin d'une petite aide , pour resoudre ce probléme?? voici les code;require_once aide pour affichage galerie [ par speedylol ] bonjour voila mon probléme id_gal est le speudo du membre qui introduit sa galerie et j'aimerais l'afficher une seule fois dans ma liste de galerie .


    Nos sponsors


    Sondage...

    CalendriCode

    Mai 2012
    LMMJVSD
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   

    Consulter la suite du CalendriCode

    A découvrir



     
    Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
    CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
    CodeS-SourceS.com© est une marque déposée tous droits réservés

    Google Coop CodeS-SourceS Google Coop CodeS-SourceS
    Temps d'éxécution de la page : 0,920 sec (4)

    Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales