Bienvenue sur le site officiel du système de template GagaTemplate. Si vous avez un problème avec ce script, allez faire un petit tour dans la documentation ou si cela ne suffit pas, sur le forum.
Ce système de template est très simple et ne contient que les fonctions importantes d'un système de template, c'est pour celà qu'il est rapide et simple d'utilisation. Si vous débutez avec les templates ce script est pour vous.
Vous devez être inscrit et connecté pour pouvoir écrire dans les forums
Page : 1 |
|||||||
JonathanMM |
Posté le 22/09/2007 13:30 - # | ||||||
|---|---|---|---|---|---|---|---|
|
Membre 33 messages 17 ans |
Bonjour, je suis en train de réaliser mon site grâce au Gagatemplate. Et j'ai un problème : Unknown column 'titre' in 'field list' Voici mon code : sujets.php : <?php include("instruction_bas.php"); //Démarrage de la session (à mettre avant tout code xhtml) session_start(); include('libs/gaga.class.php'); $tpl = new gagatemplate(); // Connexion à la BD include ('config.inc.php'); mysql_connect($host,$username,$password); mysql_select_db($bdd_name); $cat = $_GET['cat']; if ($cat <= 0) { header("location: message.php?msg=84"); } else { $titre_cat = mysql_fetch_array(query('SELECT titre FROM v4_categorie WHERE id = '.$cat)); $tpl->assign(array( 'titre' => 'Forum - '.$titre_cat.' - Liste des sujets', 'fil_ariane' => '<a href="forum.php">Forums</a> > <a href="sujets.php?cat='.$cat.'">'.$titre_cat.'</a> > Liste des sujets', 'id_cat' => $cat)); include("haut.php"); // ====================== // Début de la pagination // ====================== $limit_par_page = 15; // On définit une variable pour dire combien de commentaires on veut par page if (isset($_GET['page']) AND !empty($_GET['page'])) { $page = intval($_GET['page']); } else { $page = 1; } $from = ($page - 1) * $limit_par_page; // ======================= // Boucle des commentaires // ======================= // Recherche des sujets existants if (isset($_SESSION['logged']) && $_SESSION['logged'] == true) { //Premièrement, sélection des champs $ajout1 = ',lu_id, lu_msg_id, lu_poste'; //Deuxièmement, jointure $ajout2 = 'LEFT JOIN v4_lu ON v4_sujet.id = v4_lu.lu_sujet_id AND v4_lu.lu_id = '.$_SESSION['id']; } $query = "SELECT v4_sujet.id AS id_sujet, v4_sujet.titre, v4_sujet.auteur, v4_sujet.id_categorie, v4_sujet.nb_reponse, v4_sujet.id_derniere_reponse, v4_sujet.date, v4_membres.id AS id_membre, v4_membres.pseudo".$ajout1." FROM v4_sujet LEFT JOIN v4_membres ON v4_sujet.auteur = v4_membres.id ".$ajout2." WHERE v4_sujet.id_categorie = '".$cat."' ORDER BY date_dernier_msg DESC LIMIT $from, $limit_par_page"; //On attache les pseudo aux auteurs des messages $resultatSujets = query($query); $dernierMessage = query("SELECT v4_sujet.id AS sujet_id, v4_sujet.id_derniere_reponse, v4_sujet.id_categorie, v4_membres.id AS id_membre, v4_membres.pseudo, v4_reponse.id AS id_reponse, v4_reponse.auteur AS auteur_reponse, v4_reponse.date AS date_reponse, v4_categorie.id AS id_de_la_categorie FROM v4_sujet LEFT JOIN v4_reponse ON v4_sujet.id_derniere_reponse = v4_reponse.id LEFT JOIN v4_membres ON v4_reponse.auteur = v4_membres.id LEFT JOIN v4_categorie ON v4_categorie.id = v4_sujet.id_categorie WHERE v4_categorie.id = '$cat'"); //On fait la même chose pour les réponses ?> <?php $i = 0; // Affichage des titres de tous les sujets et de leurs auteurs while($donneesSujet = mysql_fetch_array($resultatSujets)) { //Gestion de l'image à afficher if (isset($_SESSION['logged']) && $_SESSION['logged'] == true) { //Si le membre est connecté if($donneesSujet['date'] < $_SESSION['derniere_connexion']) // Si il l'a deja mis comme lu { if ($donneesSujet['lu_poste'] == '1') // S'il a posté { $ico_mess = 'msg_perso.png'; } else // S'il n'a pas posté { $ico_mess = 'msg.png'; } } elseif ($donneesSujet['lu_id'] == $_SESSION['id']) //S'il a lu le topic { if ($donneesSujet['lu_poste'] == '0') // S'il n'a pas posté { if ($donneesSujet['lu_msg_id'] == $donneesSujet['id_derniere_reponse']) //S'il n'y a pas de nouveau message { $ico_mess = 'msg.png'; } else { $ico_mess = 'msg_nouveau_consulte.png'; //S'il y a un nouveau message } } else // S'il a posté { if ($donneesSujet['lu_msg_id'] == $donneesSujet['id_derniere_reponse']) //S'il n'y a pas de nouveau message { $ico_mess = 'msg_perso.png'; } else //S'il y a un nouveau message { $ico_mess = 'msg_nouveau_perso.png'; } } } else //S'il n'a pas lu le topic { $ico_mess = 'msg_nouveau.png'; } } //S'il n'est pas connecté else { $ico_mess = 'msg.png'; } while($donneesDernierMessage = mysql_fetch_array($dernierMessage)) { if($donneesDernierMessage['sujet_id'] == $donneesSujet['id_sujet']) { if($donneesDernierMessage['date_reponse'] != 00000000000) { $tpl->assign_block('sujet', array( 'sujet_forum' => 1, 'ico_mess' => $ico_mess, 'type_sujet' => 1, 'id_sujet' => $donneesSujet['id_sujet'], 'titre_sujet' => $donneesSujet['titre'], 'id_membre_sujet' => $donneesSujet['id_membre'], 'pseudo_membre_sujet' => $donneesSujet['pseudo'], 'nb_reponse' => $donneesSujet['nb_reponse'], 'date_reponse' => date('d/m/Y', $donneesDernierMessage['date_reponse']), 'heure_reponse' => date('H\hi\ms', $donneesDernierMessage['date_reponse']), 'numero_page' => ceil($donneesSujet['nb_reponse'] / 15), 'id_derniere_reponse' => $donneesSujet['id_derniere_reponse'], 'id_membre_derniere_reponse' => $donneesDernierMessage['id_membre'], 'pseudo_membre_derniere_reponse' => $donneesDernierMessage['pseudo'], 'date_aujourd_hui' => date('d/m/Y'))); } else { $tpl->assign_block('sujet', array( 'sujet_forum' => 1, 'ico_mess' => $ico_mess, 'type_sujet' => 2, 'id_sujet' => $donneesSujet['id_sujet'], 'titre_sujet' => $donneesSujet['titre'], 'id_membre_sujet' => $donneesSujet['id_membre'], 'pseudo_membre_sujet' => $donneesSujet['pseudo'], 'date_sujet' => date('d/m/Y', $donneesSujet['date']), 'heure_sujet' => date('H\hi\ms', $donneesSujet['date']), 'nb_reponse' => $donneesSujet['nb_reponse'], 'date_aujourd_hui' => date('d/m/Y'))); } } } mysql_data_seek ($dernierMessage , 0); $i++; } if($i == 0) //Si par hasard on a trouvé aucun sujet { $tpl->assign_block('sujet', array( 'sujet_forum' => 0)); } else { $requete = query('SELECT COUNT(id) AS nb_sujet FROM v4_sujet WHERE id_categorie='.$cat); $donnees = mysql_fetch_assoc($requete); $nb_pages = ceil($donnees['nb_sujet'] / $limit_par_page); for ($j=1 ; $j<=$nb_pages ; $j++) { if ($j == $page) { // echo '['.$j.'] '; } else { // echo '<a href="sujets.php?cat='.$cat.'&page='.$j.'">'.$j.'</a> '; } } } } mysql_close(); include("bas.php"); $tpl->parse('sujets.tpl'); ?> sujets.tpl : {include file="haut.tpl"} {include file="menu.tpl"} <a href = "forum.php">Liste des forums</a><br/> <a href = "ajouterSujet.php?cat={$id_cat}">Nouveau</a> <table><tr><td></td><td>Sujet</td><td>Auteur</td><td>Réponses</td><td>Derniere réponse</td></tr> <!-- BEGIN sujet --> {if($sujet_forum == 1)} {if($type_sujet == 1)} <tr><td><img src="images/{$ico_mess}" /></td> <td> <a href = "voirSujet.php?sujet={$id_sujet}">{$titre_sujet}</a></td> <td><b><a href="profil.php?id={$id_membre_sujet}">{$pseudo_membre_sujet}</a></b></td> <td>{$nb_reponse}</td> <td><a href="voirSujet.php?sujet={$id_sujet} {if($nb_reponse > 15)} //Si on a plusieurs pages &page={$numero_page} {/if} #r{$id_derniere_reponse}"> {if($date_reponse == $date_aujourd_hui)} Aujourd'hui {else} {$date_reponse} {/if} à {$heure_reponse}</a> <a href="profil.php?id={$id_membre_derniere_reponse}">{$pseudo_membre_derniere_reponse}</a> {elseif($type_sujet == 2)} <tr><td><img src="images/{$ico_mess}" /></td> echo '<a href="voirSujet.php?sujet={$id_sujet}#s{$id_sujet}"> {if($date_sujet == $date_aujourd_hui)}Aujourd'hui{else} {$date_sujet} {/if} à {$heure_sujet}</a> <a href="profil.php?id={$id_membre_sujet}">{$pseudo_membre_sujet}</a> {/if}</td> </tr> {else} <tr><td colspan="4">Ce forum ne contient aucun message</td></tr> {/if} <!-- END sujet --> </table> {include file="bas.tpl"} haut.tpl <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>Nocle - {$titre}</title> <meta http-equiv="Content-Type" content="text/xhtml+xml; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Index" href="visuel.css" /> <script type="text/javascript" src="ajaxtabs.js"></script> <script type="text/javascript" src="prev.js"></script><!-- on appelle le fichier prev.js pour faire fonctionne la prévisualisation --> <script type="text/javascript"> function bbcode(bbdebut, bbfin) { var input = window.document.formulaire.message; input.focus(); /* pour IE (toujous un cas appar lui <img src="http://www.gagatemplate.com/images/emo/clin.png" alt=""/> )*/ if(typeof document.selection != 'undefined') { var range = document.selection.createRange(); var insText = range.text; range.text = bbdebut + insText + bbfin; range = document.selection.createRange(); if (insText.length == 0) { range.move('character', -bbfin.length); } else { range.moveStart('character', bbdebut.length + insText.length + bbfin.length); } range.select(); } /* pour les navigateurs plus récents que IE comme Firefox... */ else if(typeof input.selectionStart != 'undefined') { var start = input.selectionStart; var end = input.selectionEnd; var insText = input.value.substring(start, end); input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end); var pos; if (insText.length == 0) { pos = start + bbdebut.length; } else { pos = start + bbdebut.length + insText.length + bbfin.length; } input.selectionStart = pos; input.selectionEnd = pos; } /* pour les autres navigateurs comme Netscape... */ else { var pos; var re = new RegExp('^[0-9]{0,3}$'); while(!re.test(pos)) { pos = prompt("insertion (0.." + input.value.length + "):", "0"); } if(pos > input.value.length) { pos = input.value.length; } var insText = prompt("Veuillez taper le texte"); input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos); } } function smilies(img) { window.document.formulaire.textarea.value += '' + img + ''; } </script> </head> <body><div id="logo"><img src="images/logo.png" alt="Logo" /></div> <div id="menuDuHeader"> <a href="index.php" accesskey="1" tabindex="10">Accueil</a><br/> <a href="index.php" accesskey="1" tabindex="10">Accueil</a><br/> <a href="forum.php" accesskey="F" tabindex="20">Forums</a><br/> <a href="livredor.php" accesskey="L" tabindex="30">Livre d'or</a><br/> <a href="equipe.php" tabindex="40">L'equipe</a><br/> {if($session_login == 1)} {if($session_permission >= 2 AND $session_permission <= 5)} <a href="admin/" tabindex="50">Admin {if($session_permission != 2)} ({$session_admin_pas_vu}){/if} </a><br/>{/if} <a href="deconnexion.php" tabindex="70">Déconnexion ({$session_pseudo})</a><br/> <a href="mp.php" accesskey="M" tabindex="60">{$session_mp_non_lu} {if($session_mp_non_lu == 1)} message{else} messages{/if}</a><br/> {else} <a href="connexion.php" tabindex="70">Connexion</a><br/> <a href="inscription.php" tabindex="60">Inscription</a> {/if} </a> </div> Merci d'avance pour votre aide
|
||||||
gaga26 |
Posté le 22/09/2007 18:26 - # | ||||||
|
741 messages 18 ans |
Salut, D'après moi, cela ressemble plutôt à une erreur mysql. Cela signifie que la colonne titre n'existe pas dans la table que tu utilises.
|
||||||
JonathanMM |
Posté le 22/09/2007 21:22 - # | ||||||
|
Membre 33 messages 17 ans |
Pas bête comme supposition, le seul problème est que même si on met quelque chose du genre : $tpl->assign(array( 'titre' => 'Forum - - Liste des sujets', 'fil_ariane' => '<a href="forum.php">Forums</a> > <a href="sujets.php?cat=">test</a> > Liste des sujets', 'id_cat' => '1')); Et ba, on a toujours la même erreur |
||||||
gaga26 |
Posté le 23/09/2007 14:50 - # | ||||||
|
741 messages 18 ans |
La variable compile est-elle à true ? | ||||||
JonathanMM |
Posté le 24/09/2007 19:08 - # | ||||||
|
Membre 33 messages 17 ans |
Maintenant, ouais, mais ça marche pas
|
||||||
gaga26 |
Posté le 24/09/2007 21:07 - # | ||||||
|
741 messages 18 ans |
Tu pourrais nous donner la ligne qui foire plutôt que 200 lignes de code... | ||||||
JonathanMM |
Posté le 29/09/2007 10:51 - # | ||||||
|
Membre 33 messages 17 ans |
C'est sympa, mais je sais même pas c'est la quelle la ligne qui foire ! | ||||||
gaga26 |
Posté le 29/09/2007 13:51 - # | ||||||
|
741 messages 18 ans |
Citation : JonathanMM C'est sympa, mais je sais même pas c'est la quelle la ligne qui foire ! Si aucune ligne ne t'est indiquée, c'est que c'est très certainement une erreur mysql. |
||||||
JonathanMM |
Posté le 29/09/2007 16:25 - # | ||||||
|
Membre 33 messages 17 ans |
Effectivement, vous avez raison. Merci beaucoup
|
||||||
Page : 1 |
|||||||
Vous devez être inscrit et connecté pour pouvoir écrire dans les forums
Retour au forum Variables, à la liste des forums, ou au haut de page


