Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Site Web > PHP > Big tuto sur les forums > Lecture du sujet

Big tuto sur les forums

comment créer un forum

Vous devez être inscrit pour pouvoir poster des messages

Page : Précédente  1  2  3  ...  122  123  124  125  126  127  128  ...  136  137  138  139  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  ...  122  123  124  125  126  127  128  ...  136  137  138  139  Suivante
Hors ligne Clicky # Posté le 12/10/2008 à 12:29:23
Mais heu ! chu pas un gars !
Avatar
Groupe : Membres
Reprise du dernier message de la page précédente :
Lol ok, bon code alors :)

Clicky Image utilisateur
"Vous répondez pas Sire ?... Non, quand j'comprends pas, j'réponds pas..." ©Perceval et Arthur.
(Un dictionnaire, c'est bien pour connaître l'orthographe des mots. Les apostrophes sont utiles. La ponctuation, holala la ponctuation ! Mais, c'est une chose magnifique !... Pensez-y).
 
Hors ligne frce4 # Posté le 12/10/2008 à 14:21:18
Avatar
Groupe : Membres
Bonjour, ça serait pour savoir ou placer se bout de script:

Secret (cliquez pour afficher)
Code : PHP
1
2
3
4
5
<?
if (verif_auth($data2['auth_view']))
{
//Affichage des forums
?>


parce que quand je le place après sa:

Secret (cliquez pour afficher)
Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
// Ce super echo de la mort affiche tous
         // les forums en détail : description, nombre de réponses etc...

         echo'<tr><td><img src="http://ultimate.dofus.free.fr/images/p_mess.jpg" alt="message"  class="no_cadre" /></td>
         <td class="titre"><strong>
         <a href="./voirforum.php?f='.$data2['forum_id'].'">
         '.stripslashes(htmlspecialchars($data2['forum_name'])).'</a></strong>
         <br />'.nl2br(stripslashes(htmlspecialchars($data2['forum_desc']))).'</td>
         <td class="nombresujets">'.$data2['forum_topic'].'</td>
         <td class="nombremessages">'.$data2['forum_post'].'</td>';

         // Deux cas possibles :
         // Soit il y a un nouveau message, soit le forum est vide
         if (!empty($data2['forum_post']))
         {
         //Selection dernier message
	 $nombreDeMessagesParPage = 15;
         $nbr_post = $data2['topic_post'] +1;
	 $page = ceil($nbr_post / $nombreDeMessagesParPage);


         echo'<td class="derniermessage">
         '.date('H\hi \l\e d/M/Y',$data2['post_time']).'<br />
         <a href="./voirprofil.php?m='.stripslashes(htmlspecialchars($data2['membre_pseudo'])).'&amp;action=consulter">'.$data2['membre_pseudo'].'  </a>
               <a href="./voirtopic.php?t='.$data2['topic_id'].'&amp;page='.$page.'#p_'.$data2['post_id'].'">
               <img src="http://ultimate.dofus.free.fr/images/go.gif" alt="go" class="no_cadre" /></a></td></tr>';
         }
         else
         {
               echo'<td class="nombremessages">Pas de message</td></tr>';
         }

         //Cette variable stock le nombre de message, on la met à jour
         $totaldesmessages += $data2['forum_post'];

         //On ferme notre boucle et nos balises
         } //fin de la boucle
echo '</table>';

} //fin du else
?>


sa ne marche pas... :/

Image utilisateur
 
Hors ligne tibeoh # Posté le 12/10/2008 à 14:36:06
Quand je pense que...
Avatar
Groupe : Membres
Ok, je vais m'occuper de ton cas...

Tout d'abord, sais tu as quoi sert le "bout de code" comme tu dis ?

Moi je sais, mais je vais t'apprendre à raisonner pour y arriver seul ;) !

Mon site de monocycle !
Image utilisateur
 
Hors ligne frce4 # Posté le 12/10/2008 à 14:37:48
Avatar
Groupe : Membres
il sert vérifier quelle a rang a l'utilisateur non?
et merci de ton aide si precieuse j'en est besoin ^^
Édité le 12/10/2008 à 14:38:36 par frce4

Image utilisateur
 
Hors ligne Clicky # Posté le 12/10/2008 à 14:41:32
Mais heu ! chu pas un gars !
Avatar
Groupe : Membres
C'est pas après ça qu'il faut le mettre, mais juste avant, c'est-à-dire entre les th et les td du tableau. 'Fin moi c'est ce que j'ai fait d'après ce que j'avais compris du tuto, et ça s'passe plutôt pas mal..

Clicky Image utilisateur
"Vous répondez pas Sire ?... Non, quand j'comprends pas, j'réponds pas..." ©Perceval et Arthur.
(Un dictionnaire, c'est bien pour connaître l'orthographe des mots. Les apostrophes sont utiles. La ponctuation, holala la ponctuation ! Mais, c'est une chose magnifique !... Pensez-y).
 
Hors ligne tibeoh # Posté le 12/10/2008 à 14:42:46
Quand je pense que...
Avatar
Groupe : Membres
Voilà !
C'est pour vérifier si le membre loggé peut voir le forum, en fonction de son rang...
Donc si tu le mets après le echo, tu penses que la vérification se fera ?

Si le membre est autorisé alors afficher le forum !
Donc si tu mets le code après alors, le forum est déjà afficher, la condition ne sert à rien !

Citation : Clicky
C'est pas après ça qu'il faut le mettre, mais juste avant, c'est-à-dire entre les th et les td du tableau. 'Fin moi c'est ce que j'ai fait d'après ce que j'avais compris du tuto, et ça s'passe plutôt pas mal..

Voilà !

Mon site de monocycle !
Image utilisateur
 
Hors ligne frce4 # Posté le 12/10/2008 à 14:45:14
Avatar
Groupe : Membres
lol ok, en fait je faisait juste le moutons la --' je ne reflechisser pas du tout... un peut de logique fait pas de mal des fois.
MERCI a vous :)
Édité le 12/10/2008 à 14:50:03 par frce4

Image utilisateur
 
Hors ligne tibeoh # Posté le 12/10/2008 à 14:49:11
Quand je pense que...
Avatar
Groupe : Membres
Citation : frce4
lol ok, en fait je faisait juste le moutons la --' je ne reflechisser pas du tout... un peut de logique fait pas de mal des fois.
MERCI a vous :)


De toute façon, le php, c'est que de la logique, ne part pas dans la catégorie des gens de ce tuto qui font des copier coller, c'est impossible de réussir un forum PERSONNALISE si tu ne comprends pas le code.

Je préfère un mec, qui me dit :
Je ne comprends pas ce bout de code, et résultat je ne sais pas comment l'appliqué !
Que :
Pourquoi quand je mets ça, ça ne fonctionne pas ? o_O !

Mon site de monocycle !
Image utilisateur
 
Hors ligne frce4 # Posté le 12/10/2008 à 14:50:46
Avatar
Groupe : Membres
Maintenant c'est bon mais, sa ne les affiches pas, mais ca me met un message d'erreur:
Fatal error: Call to undefined function: verif_auth() in /mnt/164/sda/5/c/ultimate.dofus/forum/index.php on line 117

je ne voit pas pourquoi, a moins que je suis en defaut avec la logique.
Édité le 12/10/2008 à 14:51:21 par frce4

Image utilisateur
 
Hors ligne tibeoh # Posté le 12/10/2008 à 14:54:15
Quand je pense que...
Avatar
Groupe : Membres
Fatal error: Call to undefined function: verif_auth() in /mnt/164/sda/5/c/ultimate.dofus/forum/index.php on line 117

Dans ce genre d'erreur tu as 2 choses à relever :
Le type d'erreur : Fatal error: Call to undefined function: verif_auth()
Et la ligne : on line 117

L'erreur te dit quoi ?
Que ta fonction verif_auth n'est pas définie... Tu as donc oublié d'inclure ta fonction à la page...

Mon site de monocycle !
Image utilisateur
 
Hors ligne Clicky # Posté le 12/10/2008 à 14:55:20
Mais heu ! chu pas un gars !
Avatar
Groupe : Membres
Voilà, donc faut la définir quelque part cette fonction à appeler. Regarde les posts plus haut, on en cause avec eevee ^^
Édité le 12/10/2008 à 14:56:13 par Clicky

Clicky Image utilisateur
"Vous répondez pas Sire ?... Non, quand j'comprends pas, j'réponds pas..." ©Perceval et Arthur.
(Un dictionnaire, c'est bien pour connaître l'orthographe des mots. Les apostrophes sont utiles. La ponctuation, holala la ponctuation ! Mais, c'est une chose magnifique !... Pensez-y).
 
Hors ligne GraphPunk # Posté le 12/10/2008 à 19:03:45
you can see me
Avatar
Groupe : Membres
Ce forum, je l'ai fait il y a longtemps et je l'améliore sans cesse ! merci "general vans" ;)

Image utilisateur

Image utilisateur
 
Hors ligne Clicky # Posté le 12/10/2008 à 19:46:48
Mais heu ! chu pas un gars !
Avatar
Groupe : Membres
Idem, perso, je lui ai mis un système d'aperçu final (merci Thunderseb), un autre système de réponse avec citation d'un auteur, via un bouton "citer" (un mixe du système d'édition, de citation "simple" et de réponse), de quoi insérer du code php avec coloration syntaxique (via une fonction avec highlight_string()), une autre fonction qui permet de limiter la largeur d'une image trop grande insérée dans un post, pour ne pas qu'elle déborde de la fenêtre, j'ai modifié un peu le script pour que seuls les modo et admin puissent supprimer un topic/post, le sysème anti-flood sur la page poster.php, et non sur postok.php, comme ça le membre est prévenu avant de rédiger quoi que ce soit... Plein de ptits trucs comme ça qui font travailler les méninges ^^ .
J'espère qu'une fois en ligne, je n'aurai pas de problème (éventuellement dû à la config de l'hébergement) et qu'il marchera aussi bien qu'en local.
Édité le 12/10/2008 à 20:00:40 par Clicky

Clicky Image utilisateur
"Vous répondez pas Sire ?... Non, quand j'comprends pas, j'réponds pas..." ©Perceval et Arthur.
(Un dictionnaire, c'est bien pour connaître l'orthographe des mots. Les apostrophes sont utiles. La ponctuation, holala la ponctuation ! Mais, c'est une chose magnifique !... Pensez-y).
 
Hors ligne _rizardon_ # Posté le 12/10/2008 à 20:51:08
avale une noix de coco.
Avatar
Groupe : Membres
Je suis largué question connection ^^

Image utilisateur
Venez vous inscrire même si c'est en construction.

 
Hors ligne Jérémy_B # Posté le 12/10/2008 à 21:34:42
Pensez avenir..
Groupe : Membres
Citation : _rizardon_
Je suis largué question connection ^^


Tu entends quoi par connexion ? Se connecter sur ton forum ?

EDIT : lol, non j'ai vu que tu as fait un autre post réclamant ce code... Sincèrement, relis le tutoriel de m@teo21 sur la Bdd, au moins, car là, ta demande est vraiment... nous prendre pour des boeufs ! Et puis, tu es largué, donc ça ne te fera pas de mal.
Édité le 12/10/2008 à 21:38:51 par Jérémy_B
Hors ligne frce4 # Posté le 13/10/2008 à 00:55:10
Avatar
Groupe : Membres
J'ai un petit soucis...
Je n'arrive pas a regler la longueur de mon forum :( j'essaie part tout les moyens mais impossible ><
Voici ma page voirforum.php:
MON FORUM EN CONSTRUCTION

Image utilisateur
 
Hors ligne MmeWood # Posté le 13/10/2008 à 02:51:29
Peace & Love ^^
Avatar
Groupe : Membres
Tu as un width=720px dans ta balise table. Je ne sais pas si c'est volontaire. tu peux changer cette valeur pour augmenter ou réduire.
Tu peux également l'enlever pour gérer la taille en CSS. Tu peux également utiliser des % comme unité de taille.
Édité le 13/10/2008 à 02:51:54 par MmeWood
Hors ligne frce4 # Posté le 13/10/2008 à 14:20:07
Avatar
Groupe : Membres
Il y a une erreur dans se code que je ne trouve pas, pouvez vous m'aider a la trouver s'il vous plait


Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?
case "config":
//ici configuration
echo'<h1>Configuration du forum</h1>';
echo '<form method="post" action="adminok.php?cat=config">';

//Le tableau associatif
$config_name = array(
"avatar_maxsize" => "Taille maximale de l avatar",
"avatar_maxh" => "Hauteur maximale de l avatar",
"avatar_maxl" => "Largeur maximale de l avatar",
"sign_maxl" => "Taille maximale de la signature",
"auth_bbcode_sign" => "Autoriser le bbcode dans la signature",
"pseudo_maxsize" => "Taille maximale du pseudo",
"pseudo_minsize" => "Taille minimale du pseudo",
"topic_par_page" => "Nombre de topics par page",
"post_par_page" => "Nombre de posts par page"
);
$requete_config= mysql_query('SELECT config_nom, config_valeur FROM forum_config');
while($data_config = mysql_fetch_assoc($requete_config))
{
           echo '<p><label for='.$data_config['config_nom'].'>
           '.$config_name[$data_config['config_nom']].' </label> :
           <input type="text" id="'.$data_config['config_nom'].'"
           value="'.$data_config['config_valeur'].'"
           name="'.$data_config['config_nom'].'"></p>';
}
echo '<p><input type="submit" value="Envoyer" /></p></form>';
break;
?>

Image utilisateur
 
Hors ligne MmeWood # Posté le 13/10/2008 à 14:47:26
Peace & Love ^^
Avatar
Groupe : Membres
On peut savoir c'est quoi l'erreur en question ?
Hors ligne frce4 # Posté le 13/10/2008 à 19:09:09
Avatar
Groupe : Membres
l'erreur est:
Code : HTML
1
Parse error: syntax error, unexpected T_CASE in /mnt/164/sda/5/c/ultimate.dofus/forum/admin.php on line 89

Image utilisateur
 
Hors ligne Clicky # Posté le 13/10/2008 à 19:12:26
Mais heu ! chu pas un gars !
Avatar
Groupe : Membres
Correspond à quoi la ligne 89 ?

Cela dit, doit y avoir un truc genre une accolade (ou autre) manquante ou au mauvais endroit, ou en trop.

Clicky Image utilisateur
"Vous répondez pas Sire ?... Non, quand j'comprends pas, j'réponds pas..." ©Perceval et Arthur.
(Un dictionnaire, c'est bien pour connaître l'orthographe des mots. Les apostrophes sont utiles. La ponctuation, holala la ponctuation ! Mais, c'est une chose magnifique !... Pensez-y).
 
Hors ligne frce4 # Posté le 13/10/2008 à 19:21:02
Avatar
Groupe : Membres
La ligne 89 c'est ça:
Code : PHP
1
case "creer":


alors je comprend pas ou est l'erreur :(

Image utilisateur
 
Hors ligne Clicky # Posté le 13/10/2008 à 19:24:08
Mais heu ! chu pas un gars !
Avatar
Groupe : Membres
Vérifie bien toutes tes accolades, si elles sont biens fermées, si y en a pas en trop, ou pas assez ou pas au bon endroit. Ça peut être aussi le cas pour les parenthèses ou point-virgule.
Édité le 13/10/2008 à 19:25:05 par Clicky

Clicky Image utilisateur
"Vous répondez pas Sire ?... Non, quand j'comprends pas, j'réponds pas..." ©Perceval et Arthur.
(Un dictionnaire, c'est bien pour connaître l'orthographe des mots. Les apostrophes sont utiles. La ponctuation, holala la ponctuation ! Mais, c'est une chose magnifique !... Pensez-y).
 
Hors ligne _rizardon_ # Posté le 14/10/2008 à 00:13:48
avale une noix de coco.
Avatar
Groupe : Membres
Salut! hum quand général Vans nous demande de tester dans chapitre 1.2, il nous donne des 2 codes SQL mais on les met où?
(non non, je ne vous prends pas pour des bœufs.

Image utilisateur
Venez vous inscrire même si c'est en construction.

 
Hors ligne MmeWood # Posté le 14/10/2008 à 01:04:18
Peace & Love ^^
Avatar
Groupe : Membres
C'est du SQL donc réfléchis 2 petites secondes et tu trouveras la réponse toute seule
Si tu ne trouves pas c'est que t'as un problème de compréhension, à ce moment-là, relis le tuto de Général Vans comme il faut.
Et si tu ne trouves toujours pas, bah retour au tuto de m@teo. Un indice, dans le tuto de m@teo ce qui va t'intéresser c'est toute la partie 2.
Édité le 14/10/2008 à 01:07:32 par MmeWood
Hors ligne Jérémy_B # Posté le 14/10/2008 à 14:15:30
Pensez avenir..
Groupe : Membres
Citation : _rizardon_
non non, je ne vous prends pas pour des bœufs.


Celà s'adresse à moi, mais je ne le prendrai pas mal car ta questuion précise bien ce que j'ai dit..

Code SQL devrait te faire penser à MySQL, qui fait parti du tutoriel de M@teo21, comme l'a si bien dit MmeWood. Après, si tu ne sais pas où le mettre, relis cette deuxième partie, tout y est expliqué !

Comme quoi, en 2s, j'ai pu te démontrer que tu pouvais te débrouiller seul. Je dis pas ça par méchanceté, loin de là, mais seulement que, même étant nul ou pas en Php, si tu ne te rappelles plus d'une notion, réfère toi au cours de M@teo21, au pire --> Google !

Je le répèterais encore une fois, mais le cours est vraiment faisable en ayant compris TOUT le cours de M@teo21.. après, suffit d'ouvrir ses yeux et de comprendre ce que l'on fait.
Hors ligne MmeWood # Posté le 14/10/2008 à 14:52:33
Peace & Love ^^
Avatar
Groupe : Membres
Et de réfléchir...
Hors ligne Jérémy_B # Posté le 14/10/2008 à 15:05:14
Pensez avenir..
Groupe : Membres
... ça va de soit ! ^^
Hors ligne SRWieZ # Posté le 14/10/2008 à 18:05:06
Tout est possible!
Avatar
Groupe : Membres
Citation : frce4
l'erreur est:
Code : HTML
1
Parse error: syntax error, unexpected T_CASE in /mnt/164/sda/5/c/ultimate.dofus/forum/admin.php on line 89


Tu peut donner les lignes juste au dessus stp

Bientôt Mon Portfolio
Suffit d'avoir de l'espoir pour réussir....

 
Hors ligne biboum # Posté le 15/10/2008 à 13:24:10
Groupe : Membres
Bonjour, l'un des membres juste avant demandait comment faire un système pour mettre tous les message comme lus.

L'insertion du formulaire, et des checkbox pour spécifier les forums/catégories à mettre comme lus est faite. Mais au final qu'est ce qui dans ce le code du général vans permet de voir "combien il y a de message non lu, et lesquels" ?
Parce que sans cela, je ne peux pas Updater ou inserer dans topic_view.

(c'est bien rajouter une fonctionnalité que je veux, le forum étant fonctionnel comme le général vans l'a fait)

edit1 : voilà pour le moment ce que j'ai fais...
index.php : J'ai rajouter une colonne pour y mettre le formulaire.
Secret (cliquez pour afficher)
Code : PHP
1
echo'<td class="nombremessages"><FORM method=post action="vidermessage.php"><INPUT type=checkbox name="vider[]" value="'.htmlentities($data2['forum_id']).'"></td></tr>';


Puis vidermessage.php :
Secret (cliquez pour afficher)
Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php session_start();

include ('le fichier de connection');

//Topic déjà consulté ?
$marche = mysql_query("SELECT paysjoue FROM membres_tbl WHERE '".mysql_real_escape_string($_SESSION['login'])."' = Login");
$marcher = mysql_fetch_array($marche);
$marcheid = mysql_query("SELECT membre_id FROM forum_membres WHERE membre_pseudo = '".mysql_real_escape_string($marcher['paysjoue'])."'");
$marcherid = mysql_fetch_array($marcheid);
$_SESSION['id'] = ''.htmlentities($marcherid['membre_id']).'';

//on récupère le tableau des langues
$tab_lang = (isset($_POST['vider']))?$_POST['vider']:array();
//affichage des langues cochées

foreach($tab_lang as $lang)
{
$add1 = ',tv_id, tv_post_id, tv_poste'; 
//Deuxièmement, jointure
$add2 = 'LEFT JOIN forum_topic_view 
ON forum_topic.topic_id = forum_topic_view.tv_topic_id AND forum_topic_view.tv_id = '.intval($_SESSION['id']);

$requete3 = mysql_query('SELECT forum_topic.topic_id, topic_titre, topic_createur, topic_vu, topic_post, topic_time, topic_last_post,
Mb.membre_pseudo AS membre_pseudo_createur, post_createur, post_time, post_numerodetour, post_annee, post_saison, post_nomdirigeant, Ma.membre_pseudo AS membre_pseudo_last_posteur 
'.$add1.'
FROM forum_topic
LEFT JOIN forum_membres Mb ON Mb.membre_id = forum_topic.topic_createur
LEFT JOIN forum_post ON forum_topic.topic_last_post = forum_post.post_id
LEFT JOIN forum_membres Ma ON Ma.membre_id = forum_post.post_createur   
'.$add2.'
WHERE topic_genre <> "Annonce" AND forum_topic.forum_id = "'.$lang.'"');
$data3 = mysql_fetch_assoc($requete3);

$requete1 = mysql_query("
SELECT topic_titre, topic_post, forum_topic.forum_id, topic_last_post,
forum_name, auth_view, auth_topic, auth_post 
FROM forum_topic 
LEFT JOIN forum_forum ON forum_topic.forum_id = forum_forum.forum_id 
WHERE topic_id = '".$data3['topic_id']."'") or die (mysql_error());
$data1 = mysql_fetch_assoc($requete1);

$nbr_vu = mysql_result(mysql_query("SELECT COUNT(*) FROM forum_topic_view
WHERE tv_topic_id = '".$data1['forum_id']."' AND tv_id = '".intval($_SESSION['id'])."'"), 0);

if ($nbr_vu == 0) //Si c'est la première fois on insère une ligne entière
{
        mysql_query('INSERT INTO forum_topic_view 
        (tv_id, tv_topic_id, tv_forum_id, tv_post_id)
        VALUES ('.intval($_SESSION['id']).', '.$lang.', '.$data1['forum_id'].', '.$data1['topic_last_post'].')');
echo $_SESSION['id'];
echo "/a";
echo $lang;
echo "/b";
echo $data1['forum_id'];
echo "/c";
echo $data1['topic_last_post'];
echo "/d";
echo $_POST['vider'];
		}
else //Sinon, on met simplement à jour
{
        mysql_query('UPDATE forum_topic_view SET tv_post_id = 
        '.$data1['topic_last_post'].' WHERE tv_topic_id = '.$lang.' 
        AND tv_id = '.intval($_SESSION['id']));
echo $_SESSION['id'];
echo "/a";
echo $lang;
echo "/b";
echo $data1['forum_id'];
echo "/c";
echo $data1['topic_last_post'];
echo "/d";
echo $_POST['vider'];
		}
}

?>





bien evidamment ca ne marche pas...
Cela s'inscrit dans ma BDD, mais je n'arrive pas à comprendre où/comment je fais pour qu'il aille chercher les topics à mettre en lus.

edit2 : Après plusieurs galère...j'ai réussit à faire marquer les messages non lus en lu.
Perso, je le trouve indigeste ce forum à cause des deux requetes à multiple jointure. C'est très peu pratique derrière de réutiliser ce dont on a besoin...surtout quand on n'y comprend rien au jointure^^ Mais si ca s'adresse aux débutants pour qu'il puisse le réutiliser , c'est bonbon.
Un travail formidable par contre, c'est le seul forum que j'ai trouver d'aussi complet et aussi "facile" à mettre en place une fois qu'on a les base php, mais très lourd, et donc difficle par la suite de l'exploiter mais formidable outil quand même ! merci général vans.
Pour le code : il y a donc la partie html pour l'index pour le formulaire et la partie "vidermessage.php". le code est surement à revoir, pour l'optimiser, notamment au niveau requete pour enlever tout ce qui ne sert à rien, mais ca je sais pas faire du fait des requete multitable. Mais cela marche, en revanche il ne prend pas en compte pour les annnonces uniquement les messages, mais c'est le même systeme. il faudra aussi enlever ce qu'il ne vous sert à rien mais que je laisse pour que vous voyez chez moi l'ensemble qui marche.

Secret (cliquez pour afficher)
Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php session_start();

include (ton fichier de connection);

//Topic déjà consulté ?
$marche = mysql_query("SELECT paysjoue FROM membres_tbl WHERE '".mysql_real_escape_string($_SESSION['login'])."' = Login");
$marcher = mysql_fetch_array($marche);
$marcheid = mysql_query("SELECT membre_id FROM forum_membres WHERE membre_pseudo = '".mysql_real_escape_string($marcher['paysjoue'])."'");
$marcherid = mysql_fetch_array($marcheid);
$_SESSION['id'] = ''.htmlentities($marcherid['membre_id']).'';

//on récupère le tableau des langues
$tab_lang = (isset($_POST['vider']))?$_POST['vider']:array();
//affichage des langues cochées

foreach($tab_lang as $lang)
{
$add1 = ',tv_id, tv_post_id, tv_poste'; 
//Deuxièmement, jointure
$add2 = 'LEFT JOIN forum_topic_view 
ON forum_topic.topic_id = forum_topic_view.tv_topic_id AND forum_topic_view.tv_id = '.intval($_SESSION['id']);

$requete3 = mysql_query('SELECT forum_topic.topic_id, topic_titre, topic_createur, topic_vu, topic_post, topic_time, topic_last_post,
Mb.membre_pseudo AS membre_pseudo_createur, post_createur, post_time, post_numerodetour, post_annee, post_saison, post_nomdirigeant, Ma.membre_pseudo AS membre_pseudo_last_posteur 
'.$add1.'
FROM forum_topic
LEFT JOIN forum_membres Mb ON Mb.membre_id = forum_topic.topic_createur
LEFT JOIN forum_post ON forum_topic.topic_last_post = forum_post.post_id
LEFT JOIN forum_membres Ma ON Ma.membre_id = forum_post.post_createur   
'.$add2.'
WHERE topic_genre <> "Annonce" AND forum_topic.forum_id = "'.$lang.'"');
 while ($data3 = mysql_fetch_assoc($requete3))
        {
$requete1 = mysql_query("
SELECT topic_titre, topic_post, forum_topic.forum_id, topic_last_post,
forum_name, auth_view, auth_topic, auth_post 
FROM forum_topic 
LEFT JOIN forum_forum ON forum_topic.forum_id = forum_forum.forum_id 
WHERE topic_id = '".$data3['topic_id']."'") or die (mysql_error());
while($data1 = mysql_fetch_assoc($requete1))
{

$nbr_vu = mysql_result(mysql_query("SELECT COUNT(*) FROM forum_topic_view
WHERE tv_topic_id = '".$data3['topic_id']."' AND tv_id = '".intval($_SESSION['id'])."'"), 0);
if ($nbr_vu == 0) //Si c'est la première fois on insère une ligne entière
{
        mysql_query('INSERT INTO forum_topic_view 
        (tv_id, tv_topic_id, tv_forum_id, tv_post_id)
        VALUES ('.intval($_SESSION['id']).', '.$data3['topic_id'].', '.$lang.', '.$data1['topic_last_post'].')');
echo $_SESSION['id'];
echo "/a";
echo $lang;
echo "/b";
echo $data3['topic_id'];
echo "/c";
echo $data1['topic_last_post'];


		}
else //Sinon, on met simplement à jour
{
        mysql_query('UPDATE forum_topic_view SET tv_post_id = 
        '.$data1['topic_last_post'].' WHERE tv_topic_id = '.$data3['topic_id'].' 
        AND tv_id = '.intval($_SESSION['id']));
echo $_SESSION['id'];
echo "/a";
echo $lang;
echo "/b";
echo $data3['topic_id'];
echo "/c";
echo $data1['topic_last_post'];

}
}
}
}
?>
Édité le 15/10/2008 à 17:14:25 par biboum
Hors ligne Jokescomm # Posté le 16/10/2008 à 17:27:04
'Be the one we need'
Avatar
Groupe : Membres
Merci :p


Ton code m'a bien aidé :D

Image utilisateur Alak alak alak alak ak...!
 

Retour au forum "PHP" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 89 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.2624s (0.2465s)