php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.09.2006, 20:04  
Kein Genie
Gast
 
Beiträge: n/a
Standard Hilfe bei Script

Hi,
ich habe folgendes Blätterscript:

PHP-Code:
<?php 

$sql 
="SELECT count(id) FROM gbook"
$result mysql_query($sql); 
$num mysql_num_rows($result); 

$limit 5

$pages ceil($num/$limit);

if(isset(
$_GET['page']))
{
  if(!
$_GET['page']) $_GET['page'] = 1
  
  echo 
'Seite: ';
  
$count 1
  while(
$count <= $pages
  { 
    if(
$count != $_GET['page']) 
    { 
      echo 
'[url="'.$_SERVER['PHP_SELF'].'?action=gbook&page='.$count.'"]'.$count.'[/url]'
    } 
    else 
    { 
     echo 
'[b]'.$count.'[/b]'
     }
   echo 
', '
   
$count++; 
   } 
}
else
{
   
$page_start 0;

    echo 
'Seite: ';

    
$count 1
    while(
$count <= $pages
    { 
      if(
$count != $page_start
    { 
       echo 
'[url="'.$_SERVER['PHP_SELF'].'?action=gbook&page='.$count.'"]'.$count.'[/url]'
     } 
     else 
     { 
        echo 
'[b]'.$count.'[/b]'
     }
     echo 
', '
     
$count++; 

}
?>
PHP-Code:
        if(isset($_GET['page']))
        {
            
$start $limit*($_GET['page']-1);
        }
        else
        {
            
$start 0;
        }
        echo 
'

'
;

        
$a_query mysql_query("SELECT 
                        author,
                        place,
                        email,
                        date,
                        message
                                  FROM gbook
                                  ORDER BY date DESC
                    LIMIT $start, $limit"
) OR die(mysql_error()); 
Aber das Problem ist, selbst wenn ich nur ein Eintrag im Gästebuch habe, gibt er mit einen Link aus.
Dabei will ich aber, dass er mit die Zahl dann Fett ausgibt.
Was habe ich falsch gemacht?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.09.2006, 20:15  
Erfahrener Benutzer
 
Registriert seit: 20.08.2007
Beiträge: 347
CHRIS befindet sich auf einem aufstrebenden Ast
Standard

Hast du das Script selber geschrieben oder einfach nur Kopiert?

LG Chris
CHRIS ist offline  
Alt 12.09.2006, 20:45  
Erfahrener Benutzer
 
Registriert seit: 03.01.2006
Beiträge: 253
CC84
Standard

Manmanman, kennst du die Tabulator Taste? Wie soll denn den Code irgendwer lesen können?

Dann was sollen die nachfolgenden Zeilen machen?
PHP-Code:
if(isset($_GET['page']))
{
if(!
$_GET['page']) $_GET['page'] = 1
Vermutlich liegt auch genau hier dein Problem.

Wenn du keine Seite übergibst, $_GET['page'] also nicht gesetzt ist, bleibt das auch so. Damit bekommt natürlich $count != $_GET['page'] niemals ein false und damit wird niemals ne Seite dick.

Übrigens error_reporting(E_ALL); würde helfen, dann würdest du nämlich erfahren, dass $_GET['page'] vermutlich nie gesetzt ist.

Deine mysql Abfrage ist auch sehr unglücklich, da du die Mysql DB nötigst dir alle IDs zu liefern, obwohl du nur wissen willst wie viele Datensätze vorhanden sind.

Da wäre ein SELECT count(id) FROM gbook besser.
CC84 ist offline  
Alt 12.09.2006, 21:24  
Kein Genie
Gast
 
Beiträge: n/a
Standard

Also ich habe den Code mal eingerückt.
Außerdem habe ich das mit dem count gemacht.

PHP-Code:
if(isset($_GET['page']))
{
if(!
$_GET['page']) $_GET['page'] = 
Wenn du dir den Rest ansiehst, dann siehst du, dass im else Teil eine Variable gesetzt wird die an stelle von $_GET['page'] steht.
 
Alt 12.09.2006, 22:43  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard Re: Hilfe bei Script

Zitat:
Zitat von Kein Genie
PHP-Code:
<?php 

$sql 
="SELECT count(id) FROM gbook"
$result mysql_query($sql); 
$num mysql_num_rows($result);
?>
Die Ermittlung der Anzahl ist Quatsch.
mysql_num_rows() dürfte wohl immer 1 liefern.

Probier mal das da:
PHP-Code:
<?php
$sql 
="SELECT count(id) AS Anzahl FROM gbook"
$result mysql_query($sql); 
$row mysql_fetch_assoc($result); 
$num $row['Anzahl'];
?>
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 12.09.2006, 22:43  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

hallo 'Kein Genie',

das Problem beginnt ganz am Anfang:

PHP-Code:
$sql ="SELECT count(id) FROM gbook"
$result mysql_query($sql); 
$num mysql_num_rows($result); 
liefert nicht das, was Du wohl beabsichtigst. Du hast quasi versucht, eine Aufgabe zweimal zu lösen. Das Resultat ist aber folgendes: mit select count() bekommst du (richtig!) die Anzahl der vorhandenen Datensätze. Aber diese wird Dir als Zahl in einer einzigen Ergebniszeile zurückgeliefert. Nutzt Du nun mysql_num_rows(), wird das Ergebnis immer 1 sein, ob Du 12 , 17400 oder gar keine Einträge in Deinem gbook hast.

Folgefehler:

1/5 ergibt 0.2, aufgerundet 1. Die Schleife wird genau einmal durchlaufen, da 1 <= 1 ist, usw.
nikosch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Script calculator tati85 PHP Tipps 2008 4 07.02.2008 08:01
Daten Upload Script Hilfe!! PHP Tipps 2007 9 29.12.2005 10:39
Hilfe für Script (ähnlich wie Clanwar) PHP Tipps 2005 10 18.05.2005 20:28
Hilfe bzw. Script gesucht Beitragsarchiv 1 15.05.2005 14:05
Hilfe bei Bilderupload Script ypsie PHP Tipps 2005 15 09.05.2005 18:58
[Erledigt] Hilfe bei Download Verwaltungs Script PHP Tipps 2005 8 04.05.2005 10:29
Hilfe bei PHP Script PHP Tipps 2005 1 03.05.2005 09:43
Hilfe bzw. Script gesucht PHP Tipps 2005 2 17.04.2005 16:38
Script zum ändern einer RDF Datei ! Brauche HILFE! PHP Tipps 2004-2 3 06.12.2004 09:21
Bitte um Hilfe, script löscht nichts :( PHP Tipps 2004-2 2 30.11.2004 23:08
Hilfe bei einem simplen Script Beitragsarchiv 5 27.11.2004 16:44
Habe Fehler im Script bitte um Hilfe test022 PHP Tipps 2004-2 9 13.11.2004 17:44
Welches Script ist das?! HILFE Beitragsarchiv 11 07.08.2004 11:52
[Erledigt] Script gesucht / Hilfe beim Programmieren PHP Tipps 2004 2 15.06.2004 07:00
Hilfe bei einem Script benötigt! PHP Tipps 2004 3 02.06.2004 22:00


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:46 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.