GAGA Template

XLetter

Le parsage ne s'effecute pas !

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