hilfdirselbst.ch
Facebook Twitter gamper-media
« « 1 2 » »  
pat87
Beiträge: 581
30. Jun 2004, 18:59
Beitrag #1 von 23
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


hallo zusammen,

wie kann ich bei php, das mit einer mysql-datenbank verbunen ist einstellen, dass eine pagebar entsteht und dass eine bestimmte anzahl einträge der mysql-datenbank pro seite angezeigt werden...

von dem design her stelle ich mir das so vor:

[1] [2] [3] >>

und dass dann die seite, die angewählt ist, fett erscheint. ausserdem sollten nur die spitzen klammern angezeigt werden, wenn es eine seite davor bzw. dahinter gibt.

ich hoffe, dass ihr mir fleissig zurückschreibt und warte auf eure antwoten...

mfg p@
---
mailto:admin@pat87.ch
http://www.pat87.ch/ Top
 
X
oesi50  A  S
Beiträge: 2315
30. Jun 2004, 20:22
Beitrag #2 von 23
Beitrag ID: #94274
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


hi Pat,

dafür kannst Du LIMIT verwenden

"SELECT ..... LIMIT $i,$j"

$i: Start beginnt bei 0
$j: Anzahl


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#94255] Top
 
pat87
Beiträge: 581
30. Jun 2004, 21:59
Beitrag #3 von 23
Beitrag ID: #94280
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


und wie kann ich es einstellen, dass da automatisch variabeln verwendet werden (für max. und total) und dass dann die zahlen sich auch automatisch anpassen?

mfg p@
---
mailto:admin@pat87.ch
http://www.pat87.ch/
als Antwort auf: [#94255] Top
 
oesi50  A  S
Beiträge: 2315
30. Jun 2004, 23:02
Beitrag #4 von 23
Beitrag ID: #94292
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


Du zählst erst mal die Ergebnisse mit COUNT. Dann dividierst Du die gefundenen Zahl durch die gewünschte Seitengröße. Damit ist die Anzahl der Markierungen gefunden.

Beispiel:

Seitengröße(Limit): 10
Gefundene: Zeilen 25

25 / 10 = 2 Rest 5

=> [1] [2] [3]


Links:
[1] start=0
[2] start=10
[3] start=20

limit=10


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#94255] Top
 
pat87
Beiträge: 581
1. Jul 2004, 18:01
Beitrag #5 von 23
Beitrag ID: #94461
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


wie geht das mit dem count?

und wie funktioniert es, dass wenn ein neuer eintrag dazu kommt, dass dann automatisch wenn es nötig ist, eine neue zahl z.b. [4] entsteht?

mfg p@
---
mailto:admin@pat87.ch
http://www.pat87.ch/
als Antwort auf: [#94255] Top
 
oesi50  A  S
Beiträge: 2315
1. Jul 2004, 21:59
Beitrag #6 von 23
Beitrag ID: #94510
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


> wie geht das mit dem count?

SELECT COUNT(*) WHERE $deine_bedingungen LIMIT $start,$anzahl

> und wie funktioniert es, dass wenn ein neuer eintrag dazu kommt, dass
> dann automatisch wenn es nötig ist, eine neue zahl z.b. [4] entsteht?

Das ergibt sich aus der Berechnung

Bsp.:
25/10 = 2 rest 5 => 1 2 3 (ist ein Rest da, dann noch eins)
30/10 = 3 rest 0 => 1 2 3 (kein Rest)
31/10 = 3 rest 1 => 1 2 3 4


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#94255] Top
 
pat87
Beiträge: 581
2. Jul 2004, 18:27
Beitrag #7 von 23
Beitrag ID: #94672
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


aber wie kann ich es mit der rechnung anstellen, dass es automatisch mehr oder weniger zahlen gibt?

mfg p@
---
mailto:admin@pat87.ch
http://www.pat87.ch/
als Antwort auf: [#94255] Top
 
oesi50  A  S
Beiträge: 2315
2. Jul 2004, 20:03
Beitrag #8 von 23
Beitrag ID: #94683
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


z.B. so:
da kannst Du Dir sogar die Division Sparen.

for($i = 0; $i < $max; $i+=10){
print "[$i] ";
}


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#94255] Top
 
pat87
Beiträge: 581
3. Jul 2004, 15:20
Beitrag #9 von 23
Beitrag ID: #94762
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


sind das geschützte variabeln oder muss ich die zuerst definieren?

mfg p@
---
mailto:admin@pat87.ch
http://www.pat87.ch/
als Antwort auf: [#94255] Top
 
oesi50  A  S
Beiträge: 2315
3. Jul 2004, 15:35
Beitrag #10 von 23
Beitrag ID: #94766
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


Du musst das natürlich alles selbst programmieren.

1. Abfrage (count) mit deinen Kriterien
-> daraus ergibt sich die Gesamtzahl $max
2. Abfrage mit den selben Kriterien wie oben mit Limit Start, Anzahl
-> Anzeigen
3. Erzeugen der 'weiter' Links mit einer Schleife
-> Anzeigen

Bei meinem obigen Beispiel ist der Startwert für die Links jeweils schon in $i.

In den Links müssen auch noch sämtliche Parameter für deine Suchkriterien enthalten sein. Schau Dir mal den HTML-Quelltext von google an, da ist es sehr schön zu sehen.


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#94255]
(Dieser Beitrag wurde von oesi50 am 3. Jul 2004, 15:46 geändert)
Top
 
Miro Dietiker
Beiträge: 699
4. Jul 2004, 01:58
Beitrag #11 von 23
Beitrag ID: #94805
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


Heyoo oesi!

Wusste garnicht, dass Google opensource ist! Wo krieg ich den
Quellcode von Google denn her? =)

Oder war da etwa der ausgegebene HTML-Quelltext gemeint?
Wär' echt schade ;-)

GrEeZ: Miro Dietiker
als Antwort auf: [#94255] Top
 
pat87
Beiträge: 581
6. Jul 2004, 22:17
Beitrag #12 von 23
Beitrag ID: #95379
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


kann ich so nicht die gesammte anzahl aller einträge erfassen und sie anzeigen?

$number = count ($nr = $row["nr"]);
$numbers = $number;
echo $numbers;

was ist falsch? er zeigt mir überall '1' an...

mfg p@
---
mailto:admin@pat87.ch
http://www.pat87.ch/
als Antwort auf: [#94255]
(Dieser Beitrag wurde von pat87 am 6. Jul 2004, 22:17 geändert)
Top
 
oesi50  A  S
Beiträge: 2315
6. Jul 2004, 22:29
Beitrag #13 von 23
Beitrag ID: #95383
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


Wir kennen Deine Datenbank nicht. Wir kennen Deine Scripte nicht. Die prinzipelle Lösung habe ich schon mehrfach gepostet. Möglicherweise kann Dir auf diese Art hier keiner helfen.

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#94255] Top
 
pat87
Beiträge: 581
7. Jul 2004, 13:01
Beitrag #14 von 23
Beitrag ID: #95506
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


ok. aber wie kann ich die totale anzahl aller einträge in der datenbank feststellen?

ich habe das so versucht:


$query = "SELECT * FROM `guestbook` WHERE 1 ORDER BY nr DESC";
$result = mysql_query($query) or die("anfrage fehlgeschlagen: " . mysql_error());
while($row = mysql_fetch_array($result))
{
$number = count ($row = $row["row"]);
echo $number;
}
mysql_close($db);

wobei die zeile mit allen winträgen 'row' heisst...

nützt das mehr?

mfg p@
---
mailto:admin@pat87.ch
http://www.pat87.ch/
als Antwort auf: [#94255] Top
 
oesi50  A  S
Beiträge: 2315
7. Jul 2004, 13:46
Beitrag #15 von 23
Beitrag ID: #95518
Bewertung:
(4357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

pagebar (Blättern mit Mysql und PHP)


$query = "SELECT COUNT(*) FROM guestbook";
$result = mysql_query($query) or die("anfrage fehlgeschlagen: " . mysql_error());
$row = mysql_fetch_array($result);
echo $row[0];

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)

PS.:
Wie oft soll ich noch hinschreiben, dass man dazu COUNT(*) verwendet?
als Antwort auf: [#94255] Top
 
« « 1 2 » »  
X