Zaehler für dynamische Seiten

kuchi
Beiträge: 222
Registriert: So 29. Jun 2003, 18:02
Wohnort: Neubrandenburg
Kontaktdaten:

dynamischer Seitenzähler

Beitrag von kuchi »

Hallo emergence,

bei mir wird die Zahl visited nicht angezeigt; was kann ich da noch unternehmen?

Gruß kuchi
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

poste nochmal deinen entsprechenden code...
ich teste es mal bei mir...
kuchi
Beiträge: 222
Registriert: So 29. Jun 2003, 18:02
Wohnort: Neubrandenburg
Kontaktdaten:

dynamischer Seitenzähler

Beitrag von kuchi »

Hallo emergence!

Hier ist der code:

Code: Alles auswählen

<? 
$sql = 'SELECT sum(B.visited+C.visited) AS visited 
FROM con_cat_art AS A, con_stat AS B, con_stat_archive AS C 
WHERE A.idcatart = B.idcatart AND A.idcatart = C.idcatart 
LIMIT 1';
 
$db->query($sql); 
if ($db->next_record()) 
  echo '<br><table border=\"0\"cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"font-family:arial,geneva,sans-serif;font-size:0.7em;\">Aufrufe <u>dieser</u>
Seite:&nbsp;'.$db->f('visited').'&nbsp;&nbsp;seit 27.02.04.</td></tr></table>'; 

?> 
Gruß kuchi
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

dein code funktioniert bei mir ?? , jedoch hab ich mir das sql query nicht genauer angesehen... ist leider ein fehler drinnen
-> sum addiert alle werte einer spalte, ein limit 1 hilft dabei leider nichts
die resultierende summe der treffer war bei mir immer 3 mal so hoch...

folgendes funktioniert bei mir:

Code: Alles auswählen

<? 
if ( !is_object($db) ) {
        $db = new DB_Contenido;
}

$sql = 'SELECT 
            B.visited,
            sum(C.visited) AS archived
        FROM 
            '.$cfg['tab']['cat_art'].' AS A, 
            '.$cfg['tab']['stat'].' AS B,
            '.$cfg['tab']['stat_archive'].' AS C
        WHERE 
            A.idcatart = B.idcatart AND
            A.idcatart = C.idcatart AND
            C.idcatart = '.$idcatart.'
        GROUP BY B.visited';

$db->query($sql); 
if ($db->next_record()) {
  $hits = $db->f('visited') + $db->f('archived');
  echo '<b>Diese Seite wurde schon '.$hits.' mal aufgerufen.</b>';
} 

?>
ein anpassen an die eigenen bedürfnisse dürfte kein problem sein...
in deinem fall die zeile:

Code: Alles auswählen

  echo '<b>Diese Seite wurde schon '.$hits.' mal aufgerufen.</b>';
durch

Code: Alles auswählen

  echo '<br><table border=\"0\"cellpadding=\"0\" cellspacing=\"0\"><tr><td style=\"font-family:arial,geneva,sans-serif;font-size:0.7em;\">Aufrufe <u>dieser</u> 
Seite:&nbsp;'.$hits.'&nbsp;&nbsp;seit 27.02.04.</td></tr></table>';
ersetzen...
kuchi
Beiträge: 222
Registriert: So 29. Jun 2003, 18:02
Wohnort: Neubrandenburg
Kontaktdaten:

dynamischer Seitenzähler

Beitrag von kuchi »

Hallo emergence!

Die Anzahl wird nicht angezeigt. Kann ehrlich gesagt nicht erkennen woran es liegt.

Gruß kuchi
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

warum es bei dir nicht läuft ? keine ahnung...
sollte eigentlich laufen...
kuchi
Beiträge: 222
Registriert: So 29. Jun 2003, 18:02
Wohnort: Neubrandenburg
Kontaktdaten:

dynamischer Seitenzähler

Beitrag von kuchi »

Hallo nochmal,

hier ist nochmals der Code; vielleicht stimmt ja doch was nicht.

Code: Alles auswählen

<? 

$sql = 'SELECT 
            B.visited, 
            sum(C.visited) AS archived 
        FROM 
            '.$cfg['tab']['cat_art'].' AS A, 
            '.$cfg['tab']['stat'].' AS B, 
            '.$cfg['tab']['stat_archive'].' AS C 
        WHERE 
            A.idcatart = B.idcatart AND 
            A.idcatart = C.idcatart AND 
            C.idcatart = '.$idcatart.' 
        GROUP BY B.visited'; 

 
$db->query($sql);
if ($db->next_record()) 
$hits = $db->f('visited') + $db->f('archived');
  echo '<br><table border=\"0\"cellpadding=\"0\" cellspacing=\"0\">
  <tr><td style=\"font-family:arial,geneva,sans-serif;font-size:0.7em;\">Aufrufe <u>dieser</u>
Seite:&nbsp; '.$hits.' &nbsp;&nbsp;seit 27.02.04.</td></tr></table>';

?>
Da muß doch was zu machen sein.

Gruß kuchi
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

der code läuft bei mir...
-> Aufrufe dieser Seite: 3 seit 27.02.04.
kuchi
Beiträge: 222
Registriert: So 29. Jun 2003, 18:02
Wohnort: Neubrandenburg
Kontaktdaten:

dynamischer Seitenzähler

Beitrag von kuchi »

Hallo emergence!

Das ist ja zum Piepen.

Gruß kuchi
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

hmm...
schreib mal direkt nach dem sql query

echo $sql."<br><br>";

hin...

und stelle diesen code mal hier ins forum...
kuchi
Beiträge: 222
Registriert: So 29. Jun 2003, 18:02
Wohnort: Neubrandenburg
Kontaktdaten:

dynamischer Seitenzähler

Beitrag von kuchi »

Hallo emergence,

Code: Alles auswählen

<? 

$sql = 'SELECT 
            B.visited, 
            sum(C.visited) AS archived 
        FROM 
            '.$cfg['tab']['cat_art'].' AS A, 
            '.$cfg['tab']['stat'].' AS B, 
            '.$cfg['tab']['stat_archive'].' AS C 
        WHERE 
            A.idcatart = B.idcatart AND 
            A.idcatart = C.idcatart AND 
            C.idcatart = '.$idcatart.' 
        GROUP BY B.visited'; 
echo $sql."<br><br>"; 
 
$db->query($sql);
if ($db->next_record()) {
$hits = $db->f('visited') + $db->f('archived');}
  echo '&nbsp; '.$hits.' &nbsp;';

?>
kuchi
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

nein ich meinte ich will die ausgabe auf deiner webseite sehen...
diese änderung schreibt dir dann das auszuführende sql query auf den bildschirm...
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

ähm ich glaub ich habs gefunden:

Code: Alles auswählen

<? 

$sql = 'SELECT 
            B.visited 
        FROM 
            '.$cfg['tab']['cat_art'].' AS A, 
            '.$cfg['tab']['stat'].' AS B 
        WHERE 
            A.idcatart = B.idcatart AND 
            A.idcatart = '.$idcatart;
$db->query($sql); 

if ($db->next_record()) {
   $hits = $db->f('visited');
}

$sql = 'SELECT 
            sum(C.visited) AS archived 
        FROM 
            '.$cfg['tab']['cat_art'].' AS A, 
            '.$cfg['tab']['stat_archive'].' AS C 
        WHERE 
            A.idcatart = C.idcatart AND 
            C.idcatart = '.$idcatart; 
$db->query($sql); 

if ($db->next_record()) {
   $hits = $hits + $db->f('archived');
} 

echo '<b>Diese Seite wurde schon '.$hits.' mal aufgerufen.</b>';

?>
Zuletzt geändert von emergence am Fr 12. Mär 2004, 14:06, insgesamt 1-mal geändert.
kuchi
Beiträge: 222
Registriert: So 29. Jun 2003, 18:02
Wohnort: Neubrandenburg
Kontaktdaten:

dynamischer Seitenzähler

Beitrag von kuchi »

Hallo emergence,

leider immer noch Fehlanzeige, es ist schon komisch.
Vor allen Dingen, daß überhauptnichts - außer dem Text - angezeigt wird.



Gruß kuchi
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

versuchs mal nur diesen teil:

Code: Alles auswählen

<? 

$sql = 'SELECT 
            B.visited 
        FROM 
            '.$cfg['tab']['cat_art'].' AS A, 
            '.$cfg['tab']['stat'].' AS B 
        WHERE 
            A.idcatart = B.idcatart AND 
            A.idcatart = '.$idcatart; 
$db->query($sql); 

if ($db->next_record()) { 
   $hits = $db->f('visited'); 
}

echo '<b>Diese Seite wurde schon '.$hits.' mal aufgerufen.</b>'; 

echo $sql;

?>
Gesperrt