Tartalom összeadása

vikicica22 képe

Hello mindenki!
Ezt a kódot drupal 6 alatt tökéletesen működik de drupal 7 –ben már nem működik.

<?php
$all = db_fetch_object(db_query("SELECT COUNT(*) db FROM {node} n WHERE n.type = '%s' AND n.status = %d", 'page', 1));
print(" $all->db ");
?>

mi lehet a hiba?
Valamilyen megoldást tudnátok erre nekem adni?

Drupal verzió: 
vikicica22 képe

* Ez a kód drupal 6 alatt tökéletesen működik de drupal 7 –ben már nem működik.

0
0
pp képe

Nem működik mit jelent?

$all = db_query("SELECT COUNT(*) db FROM {node} n WHERE n.type = 'page' AND n.status = 1")->fetchObject();
print(" $all->db ");

vagy

$query = db_select('node', 'n')
          ->condition('type', 'page')
          ->condition('status', 1);
$alias = $query->addExpression('COUNT(*)', 'db');
$all = $query->execute()->fetchAssoc();
print(' ' . $all[$alias] . ' ');

szóval a hetesben sokkal egyszerűbb az sql lekérdezés. :)

(nem próbáltam, de kiindulásnak szerintem jó)

pp

1
0
snufkin képe

vagy esetleg

$all = db_select('node', 'n')
  ->condition('type', 'page')
  ->condition('status', 1)
  ->countQuery()
  ->execute
  ->fetchAssoc();
 
dpm($all);

nb: print helyett erdemesebb a devel module altal adott dpm es egyeb debugging-printing fv-eket hasznalni.

0
0
dj képe

$all = db_query("SELECT COUNT(*) FROM {node} n WHERE n.type = :type AND n.status = :status", array(':type' => 'page', ':status' => 1))->fetchColumn(0);
print $all;
0
0

Üdv!
Dudás József

vikicica22 képe

Mindegyik, működik. Köszönöm a nagyon - nagyon sok segítséget.

0
0