Portal > Foren > PHP > PHP-Programmierung > Folgeseite nach Sql-abfrage
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 25.06.2005, 21:31 Nach oben    #1
berlitztom
Gast
 
Beiträge: n/a
Standard Folgeseite nach Sql-abfrage

Hey Forum,
habe eine php-seite geschrieben die aus einer DB ausliest. Aber folgendes Problem.
Ich will das nach der Abfrage und limitierter Ausgabe (10 Datensätze) die nächsten 10 Ausgaben auf einer neuen Seite dargestellt werden. Änlich wie das bei Foren funktioniert wenn mehrer Beiträge zu einem Thema existieren. bsp.: "Gehe zu Seite 1, 2, 3 ... 264, 265, 266 Weiter"
Habe bei euch hier nen Tut gefunden das eigendlich mein Problem voll abdeckt, doch das funtz nich so wie ich mir das vorstelle!
Könnt ihr mir da weiter helfen?
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.06.2005, 20:10 Nach oben    #2
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.381
Standard Re: Folgeseite nach Sql-abfrage

Zitat:
Zitat von berlitztom
doch das funtz nich so wie ich mir das vorstelle!
Könnt ihr mir da weiter helfen?
was genau funktioniert denn nicht?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.06.2005, 23:57 Nach oben    #3
berlitztom
Gast
 
Beiträge: n/a
Standard Folgeseite nach Sql-abfrage

es werden zwar 10 einträge augegeben aber das mit dem weiterblättern funtzt nicht!
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 07:57 Nach oben    #4
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.381
Standard Folgeseite nach Sql-abfrage

ich habe auch keine Leiste gesehen, mit der einem angeboten wird weitere Seiten auszuwählen.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 08:28 Nach oben    #5
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard Folgeseite nach Sql-abfrage

Jo hi.

Ich zitiere mal aus meinem Tutorial:
Zitat:
Zitat von Ben
Der Übergabeparameter "$gesamtzahl" wird [..] nicht verwendet. Man könnte ihn aber z.B. dafür verwenden die Seitenanzahl zu bestimmen
Code:
$seiten = ceil( $gesamtzahl / $proSeite );
und dann damit etwas herumzuspielen
Quelle: [PHP] Blätterfunktion mit MySQL

Das ist bewusst nicht in diesem Tutorial gemacht, weil ein Tutorial eben kein Script-Lieferservice ist, sondern eine Anlaufstelle, um sich etwas selbst beizubringen

Deinen hier geposteten Code kann ich mir leider nicht durchlesen, weil er bei der Ausgabe der Tabellenzellen etc. irgendwie zu stark verworren ist.

Wenn ich Deinem obigen Link folge, dann komme ich auf eine Seite, die gar keine Blätterfunktion anbietet. Was genau sollen wir dort also sehen?

Grüße Ben

Geändert von Jann Hendrik (21.06.2007 um 16:49 Uhr) Grund: php-info.org - link entfernt.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 11:28 Nach oben    #6
berlitztom
Gast
 
Beiträge: n/a
Standard Folgeseite nach Sql-abfrage

hey,
ist mir schon klar das ich hier kein fertiges skript bekomme!!!

vieleicht könnt ihr mir ja helfen wenn ich den quelltext mal auseinader nehme und ausformuliere.

Zitat:
<?
echo "<table class=\"forumline\" width=\"100%\" cellspacing=\"1\" cellpadding=\"3\" border=\"0\" align=\"center\">";
echo "<tr><td class=\"catHead\" height=\"25\" align=\"center\"><span class=\"cattitle\"><b>Bild</b></span></td><td class=\"catHead\" height=\"25\" align=\"center\"><span class=\"cattitle\"><b>lat. Name (Name)</b></span></td><td class=\"catHead\" height=\"25\" align=\"center\"><span class=\"cattitle\"><b>Beschreibung</b></span></td><td class=\"catHead\" height=\"25\" align=\"center\"><span class=\"cattitle\"><b>Besonderheiten</b></span></td></tr>";
Das ist der tabellenkopf in dem eigendlich nur HTML ausgegeben wird ---> uninteressant


Code:
// Datendefinition für die Clientausgabe
$start = (isset($start)) ? abs((int)$start) : 0;
$limit = 10;                     	// Datensätze pro Ausgabeseite
$table    = "pflanzen";    		// Der Name der Datenbanktabelle
Hier werden die definitionen festgelegt. ---> ist mir auch klar

Code:
// Erstellen der Verbindung zur MySQL-Datenbank  
if (!($connection = mysql_connect( $_config['host'], $_config['user'], $_config['password'] )))
  echo "Fehler beim Herstellen der Verbindung zur Datenbank<br>\n";
else
  {
  $ergebnis=mysql_select_db($_config['database'],$connection);
        if (!($ergebnis))
  echo "Datenbank konnte nicht ausgew&auml;hlt werden<br>\n";
  };
hier wird die verbindung zur DB hergestellt. wenn kein fehler in der verbindung vorliegt dann wird eine neue def. festgelegt --->$ergebnis. wenn es bei mir kein ergebnis gibt, erfolgt halt eine ausgabe!

Code:
// Feststellen der Anzahl der verfügbaren Datensätze.
$resultID = @mysql_query("SELECT COUNT&#40:pflanzen_id) FROM ".$table);
$total    = @mysql_result($resultID,0);
hier erfolgt die erste abfrage. dazu habe ich eine zeile in der datenbank angelegt deren name pflanzen_id ist. diese wird auto incrementiert und startet bei 1. derzeit wurden in der DB 37 einträge gemacht das heißt die ID geht von 1-37. diese abfrage ist dann relevant für die blätterfunktion.



Code:
// Zurück- und Vorblättern
if ($start > 0)
{
  $newStart = ($start - $limit < 0) ? 0 : ($start-$limit);
  echo "<a href=".$_SERVER['PHP_SELF']."?start=".$newStart
      .">&lt;&lt; zurück</a>";
}

if ($start + $limit < $total)
{
  $newStart = $start + $limit;
  echo " <a href=".$_SERVER['PHP_SELF']."?start=".$newStart
      .">vor &gt;&gt;</a>";
}
?>
nun folgt die blätterfunktion! meines erachtens passiert ja hier nix anderes als das die $resultID aus der ersten abfrage hier verwendet wird. es wird ja auch ein "vor>>" angezeigt.


ich weiß natürlich das irgendwo ein fehler ist, sonst würde es ja gehn und ich bräuchte ja nicht nachfragen.
aber bitte gebt mir doch mal nen tip!
liegt es daran das ich alles in eine abfrage basteln muß?
oder ist es die reihenfolge der abfragen?

mfg tom
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 12:44 Nach oben    #7
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.381
Standard Folgeseite nach Sql-abfrage

du solltest den Fehler selbst finden können!

PHP-Code:
<?php
$start 
0;

[...]
                  
$sql"SELECT name, latname, bildpfad, gruppe, verbreitung, temp, ph, kh, co2, licht, dunger, boden, wuchs, wuchsgesch, beschreibung, autor FROM pflanzen ORDER BY latname LIMIT $start,$proSeite"
?>
Bei welchem Wert also wird auf der 'zweiten' Seite gestartet?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 12:54 Nach oben    #8
berlitztom
Gast
 
Beiträge: n/a
Standard Folgeseite nach Sql-abfrage

bei 10

PHP-Code:
<?php
$start 
= (isset($start)) ? abs((int)$start) : 0;
$limit 10;                         // Datensätze pro Ausgabeseite
$table    "pflanzen";            // Der Name der Datenbanktabelle 

$sql"SELECT name, latname, bildpfad, gruppe, verbreitung, temp, ph, kh, co2, licht, dunger, boden, wuchs, wuchsgesch, beschreibung, autor FROM pflanzen ORDER BY latname LIMIT $start,$limit";
?>
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 13:32 Nach oben    #9
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.381
Standard Re: Folgeseite nach Sql-abfrage

Zitat:
Zitat von berlitztom
PHP-Code:
<?

[...]
     
// Angabe der anzuzeigenden Datensätze pro Seite
$proSeite = 10;
     
// Deklaration und Initialisierung der Variablen $start.
// Sie wird für die Erstellung der Blätterfunktion benötigt
$start = 0;
 
[...]




$sql= "SELECT name, latname, bildpfad, gruppe, verbreitung, temp, ph, kh, co2, licht, dunger, boden, wuchs, wuchsgesch, beschreibung, autor FROM pflanzen ORDER BY latname LIMIT $start,$proSeite"; 

[...]


// Zurück- und Vorblättern
if ($start > 0)
{
  $newStart = ($start - $proSeite < 0) ? 0 : ($start-$proSeite);
  echo "<a href=".$_SERVER['PHP_SELF']."?start=".$newStart
      .">&lt;&lt; zurück</a>";
}

if ($start + $proSeite < $total)
{
  $newStart = $start + $proSeite;
  echo " <a href=".$_SERVER['PHP_SELF']."?start=".$newStart
      .">vor &gt;&gt;</a>";
}

[...]

?>
Wie soll denn $start mal größer als 0 werden? Du hast den doch auf 0 gesetzt!

und du fragst die GET-Variable $_GET['start'] auch nie ab.


Nachtrag:
auf der Seite scheint es ja nun zu funktionieren?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 14:00 Nach oben    #10
berlitztom
Gast
 
Beiträge: n/a
Standard Folgeseite nach Sql-abfrage

das stand aber z.b. nicht mit im tut.
haben es jetzt so gelöst
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 14:06 Nach oben    #11
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.381
Standard Folgeseite nach Sql-abfrage

Zitat:
Zitat von berlitztom
das stand aber z.b. nicht mit im tut.
was stand da nicht?


guck mal im Tutorial, was hinter dem Kommentar steht:
// Vervollständigung der SQL-Anweisung je nach $_GET['start']


btw: deine Lösung funktioniert nur zufällig!


register_globals
Aus Sicherheitsgründen sollte register_globals auf OFF stehen.
Überprüfen kannst du das in einer Datei folgenden Inhalts:
PHP-Code:
<?php
  phpinfo
();
?>
Dort nach register_globals suchen.

Wenn dein hoster es dir gestattet, dann kannst du das für den Fall, dass es bei dir auf ON stehen sollte versuchen in der .htaccess zu ändern:
Code:
php_flag register_globals Off
Warum das alles?
http://www.php-faq.de/search.php?q=register_global

Dann noch ein link in ein anderes Forum:
http://www.php.de/ftopic26569.html
-> lesen, verstehen, umsetzen !!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.06.2005, 14:15 Nach oben    #12
berlitztom
Gast
 
Beiträge: n/a
Standard Folgeseite nach Sql-abfrage

ich danke für die hilfe!
die sachen werd ich mir noch anschauen da sthen bestimmt noch gute sachen drin dir mir las anfänger weterhelfen.
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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 sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
SQL Abfrage klappt nicht mit mehr als einem Datensatz Jan PHP-Programmierung 11 29.03.2007 20:05
Zugriff auf Wert des vorhergenden Datensatzes in einer SQL Abfrage Jay Datenbanken 5 17.07.2006 15:25
Brauche hilfe bei einer SQL Abfrage philstrike Datenbanken 18 07.07.2006 09:15
Hilfe für SQL Abfrage Netty Datenbanken 1 19.05.2005 09:23
Abfrage über zwei Datenbanken Netty Datenbanken 1 19.05.2005 06:53


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:39 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45