begin process at 2012 05 31 05:59:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

Plusieurs requêtes SQL a optimiser


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

Plusieurs requêtes SQL a optimiser

dimanche 11 janvier 2004 à 12:33:46 | Plusieurs requêtes SQL a optimiser

Anthomicro


Bonjour à tous et bonne année 2004 !

Voilà je me suis fait un forum perso et j'aimerais bien l'optimiser.

J'ai deux tables : une table forum qui contient les champs suivants :

cat,posteur,sujet,clos,type,pseudo_dernier_post,date_dernier_post,rubrique,reponse,id_mess

et une autre table qui sert seulement si le membre est enregistré et qui affiche un dossier rouge ou jaune pour savoir si il y a des nouveaux messages.

Cette table contient quatre champs (et s'appelle forum_consult): pseudo,cat,consult,rubrique

si consult est a zéro le topic correspondant à la catégorie (cat) renverra un dossier rouge, si il est à un un dossier jaune.

Voici le code pour afficher le tout sans les dossiers :

$requete=mysql_query("select cat,posteur,sujet,clos,type,pseudo_dernier_post,date_dernier_post from forum WHERE rubrique=\\"$_GET[rubrique]\\" AND reponse=0 order by type DESC,id_mess DESC LIMIT $debut,$limite") or die(mysql_error());
$requetes++;
while($r=mysql_fetch_array($requete))
{

if($_SESSION[login]<>NULL)
{
//SI LE MEMBRE A CONSULTE CETTE CATEGORIE
$res=mysql_query("select SQL_SMALL_RESULT COUNT(consult) FROM forum_consult WHERE cat=\\"$cat\\" and rubrique=\\"$_GET[rubrique]\\" and pseudo=\\"$_SESSION[login]\\" LIMIT 1") or die(mysql_error());
$count=mysql_fetch_row($res);
$nbre=$count[0];
$requetes++;
}
Else
{
$nbre=0;
}
$consultation=0;
if($nbre<>0)
{
$consultation=1;
}
if($type==0)
{
if($consultation==0)
{
//AFFICHAGE D'UN DOSSIER ROUGE
}
Else
{
//AFFICHAGE D'UN DOSSIER JAUNE
}
}
}
}


Vous voyez que le bas blesse quand je fais la requête dans la boucle. J'ai essayé de faire un select multiple comme ceci :

$requete=mysql_query("select forum.cat,forum.posteur,forum.sujet,forum.clos,forum.type,forum.pseudo_dernier_post,forum.date_dernier_post,forum_consult.cat as cat_consult,forum_consult.consult from forum,forum_consult WHERE forum_consult.rubrique=\\"$_GET[rubrique]\\" AND forum_consult.pseudo=\\"$_SESSION[login]\\" AND forum_consult.cat=forum.cat AND forum.rubrique=\\"$_GET[rubrique]\\" AND forum.reponse=0 order by forum.type DESC,forum.id_mess DESC LIMIT $debut,$limite") or die(mysql_error());

mais le problème est que quand il n'y a pas d'enregistrement dans la table consult (si le membre n'a jamais consulté le topic), rien ne s'affiche et donc plus de sujets !!!!

merci d'avance pour votre aide.

a +
lundi 12 janvier 2004 à 09:41:23 | Re : Plusieurs requêtes SQL a optimiser

jdaviaud

Membre Club
Réponse acceptée !

J'ai remarqué de ma propre expérience que SQL n'aime pas les variables composées dans ses requetes

C'est a dire les variables du style $Toto[Titi]

Essaye de définir tes variables avant la requete

$titi = $Toto[Titi];
Et ensuite tu utilise $titi dans ta requete.

Ton probleme ne vient peut etre pas de ca, mais je sais que sur certains hébergeurs, ce genre d'utilisation de variables dans des requetes pause probleme

Et autre chose, sur ta ligne
$res=mysql_query("select SQL_SMALL_RESULT COUNT(consult)

utilise le "@" devant mysql_query car dans le cas où y'aura pas de résultats retournés, t'auras une erreur sql qui s'affiche au lieu de continuer le traitement


Amicalement
Julien
lundi 12 janvier 2004 à 18:21:54 | Re : Plusieurs requêtes SQL a optimiser

Anthomicro

Réponse acceptée !
Merci c'est sympa pour les tuyaux mais ça ne résoud toujours pas ma requête.

a +
dimanche 12 juin 2005 à 21:51:45 | Re : Plusieurs requêtes SQL a optimiser

Anthomicro

Réponse acceptée !
quel code affreux quand je le revois ^^




    Cette discussion est classée dans : mysql, forum, cat, rubrique, consult


    Répondre à ce message

    Sujets en rapport avec ce message

    Probleme avec ma page admin [ par Danzeel ] Bonjour a tous je suis en train de créer mon forum cependant je tombe nez à nez avec un problème.Voici l'erreur qu'on me mentionne: Notice: Undefined requete sql avec des varaibles [ par choukk ] Bonjour, Je souhaite faire une requête mysql avec un nom de colonne récupérer d'une variable php comment faire? $cat.$zone="2V" 47 $sql = "SELECT $ MySQL expression régulière [ par boulika ] Bonjour à tous,Voici mon petit probleme. J'ai une requete mysql comme celle-ci :SELECT * FROM ".PREFIX."rubrique  id_rubrique LIKE '%".$_GET['id_rubri recuperation valeur de champs [ par jphilippev ] bonjour,je recupere ma colonne rubrique dans ma table$reqmusique = mysql_query('SELECT rubrique FROM log WHERE rubrique=\'Musique\' AND confirm=\'n\'' Probleme mysql [ par bruce31 ] Bonjour,depuis queque temps mon forum ne marche plus,j'ai cette erreur: mySQL query error: SELECT macro_value, macro_replace FROM ibf_macro WHERE ma unexpected { [ par biloutte33 ] Bonjour tout le monde voici mon code : $reponse = mysql_query('SELECT * FROM `ibf_topics` Where Forum_id=49 OR Forum_id=50 ORDER BY start_date DES Problème de $_POST [ par sagaff ] Bonjours, j'ai un problème avec ce code, en effet lorsque qu'on clique sur le input de validation ()  rien ne se passe, j'ai page blanche, si je met u Problème avec une requête contenant LEFT JOIN. [ par MonPied ] Bonjour, j'explique mon problème, après un sujet ou je demandais de l'aide pour éviter de faire plein de fois une requête un Zéro me proposa d'uti champs vide en mysql [ par eryk17 ] bonjour jai fai une requete en php avec une bdd mysqlje voudrai selectionner ts les info ded la table forum pour lesquelle le champs reponse_a_id est Problème de caractère ' avec MySql [ par Mat62 ] Salut !Voila, j' ai créé une petite session membre toute simple et j' ai un problème.Lorsque l' on s' inscrit, j' envoie une commande mysql. Mais le p


    Nos sponsors


    Sondage...

    CalendriCode

    Mai 2012
    LMMJVSD
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   

    Consulter la suite du CalendriCode

    Photothèque

    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,218 sec (4)

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