Les avertissements suivants se sont produits :
Warning [2] Undefined array key 0 - Line: 1640 - File: showthread.php PHP 8.2.18 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php 1640 errorHandler->error_callback
/showthread.php 915 buildtree




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Resolu] Pb avec une requette SQL sur les tables du module news
#11
Bon ok, voila autre chose : "{/* faire code de geste de l'erreur */}"
Donc j'ai cherché sur le net ce que je pouvais écrire comme code à cet endroit et j'ai trouvé ceci : "print_r($db-errorinfo());"
Seulement quand je teste, le système me renvoi :
"Fatal error: Call to undefined method pear_ADOConnection::errorInfo() in C:\wamp\www\randokerlouan\lib\content.functions.php(976) : eval()'d code on line 20"

Voila le code :

Code :
global $gCms; //pour pouvoir travailler avec les objets, classes et méthodes du cms
$db = &$gCms->GetDb(); //connection à la bd cms, recherche de la catégorie Travail et de sa filiation
$query =" SELECT COUNT* as Compteur
          FROM as1_module_news n
                LEFT JOIN as1_module_news_categories c ON c.news_category_id = n.news_category_id
          WHERE
                c.parent_id = 7
          ORDER BY
                c.hierarchy ASC, n.news_date ASC";
$compteur= $db->getOne($query);
if($compteur=== false) {print_r($db->errorInfo());}
echo "il y a ".$compteur." résultats en base";"

Pour la 2ème requête et l'affichage, j'ai écris ceci :
Code :
query = "SELECT c.news_category_id, c.news_category_name, n.news_id, n.news_title, n.news_date, u.username, f1.value as champs5, f2.value as champs6
          FROM
            as1_module_news n
                LEFT JOIN as1_module_news_fieldvals f1 ON f1.news_id = n.news_id
                LEFT JOIN as1_module_news_fieldvals f2 ON f2.news_id = n.news_id
                LEFT JOIN as1_module_news_categories c ON c.news_category_id = n.news_category_id
                LEFT JOIN as1_users u ON u.user_id  = n.author_id
          WHERE
            c.parent_id = 7
            AND (f1.fielddef_id = 1 OR f1.fielddef_id is null)
            AND (f2.fielddef_id = 3 OR f2.fielddef_id is null)
          ORDER BY
            c.hierarchy ASC, n.news_date ASC";
$dbretour = &$db->Execute($query);//exécution de la requête
if($dbretour === false)
    {
    print_r($db->errorInfo());
    }
    while ($row = $dbretour->FetchRow())
   {
echo <<<REQUETE
    <tr>
    <td class="leftcol">{$row['news_category_name']}</td>
    <td class="datadesc">{$row['news_title']}</td>
    <td class="data">{$row['news_date']}</td>
    <td class="data">{$row['username']}</td>
    <td class="data">{$row['Champs5']}</td>
    <td class="data">{$row['Champs6']}</td>
    </tr>
REQUETE;
    }
if ($dbretour) $dbretour->Close();//Toutes les news de toutes les catégories sont lues, on ferme la connection
echo "</table>";
que je sais pas si c'est correcte puisque je n'avance pas sur la gestion de l'erreur.


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)