SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 15.12.2006, 15:40:25
sfelder sfelder ist offline
Anfänger
 
Registriert seit: Dec 2006
Alter: 47
Beiträge: 43
Anzahl der Einträge beschränken - Fehler!?

Hallo,

im untenstehenden Script hat sich ein Fehler eingeschlichen, dne ich nicht finden kann. Das erste Limit funktioniert und 10 Datensätze werden mir angezeigt, wenn ich jedoch auf weiter klicke, ist die Anzeige leer, obwohl die Anzahl der Einträge korrekt ermittelt werden, da ich 45 Einträge in meiner DB habe und 5 mal vorwärts klicken kann - jedoch ohne Ausgabe der Einträge. Hab jetzt schon alles durchgetestet und finde den Fehler einfach nicht. Vielleicht kann mir jemand helfen?!

//Script

<?
$anzeigen=10;

if($vor){$start=$limit+$anzeigen;}
if($back){$start=$limit-$anzeigen;}
if(!$start){$start=0;}

//Auslesen der Einträge
$link = mysql_connect ("localhost", "bilderdb", "passwort");
mysql_select_db("bilderdb", $link);
$sql = "SELECT BildID, artistname, bildname FROM bilder WHERE BildID >=1 ORDER BY artistname LIMIT $start , $anzeigen";
$result = mysql_query($sql, $link);
for($i=$start;$i<mysql_num_rows($result);$i++)
{
$ergebnis[$i] = mysql_fetch_array($result);
}

//Ermitteln der Anzahl der Einträge
$sql1 = "SELECT bildname FROM bilder";
$result1 = mysql_query($sql1, $link);
$max = mysql_num_rows($result1);

?>

<html>
<head>
<title>Bilderverwaltung</title>
</head>
<body>

<?
//Ausgeben der Einträge
for($i=0;$i<count($ergebnis);$i++)
{
echo "<table border=0 width=500><tr><td>".$ergebnis[$i][artistname]."</td>
<td align=left>".$ergebnis[$i][bildname]." </td> </tr>
</table>";
}

//Ausgeben der Weiter und zurück Buttons
echo "<table border=0 width=500><tr><td align=left>";
if($start>=$anzeigen){echo "<a href='".$PHP_SELF."?limit=".$start."&back=1'>zurück</a>";}
echo "</td><td align=right>";
if($start+$anzeigen<$max){echo "<a href='".$PHP_SELF."?limit=".$start."&vor=1'>weiter</a>";}
echo "</tr></table>";
?>
</body>
</html>

//Scriptende

Zur Erklärung, ich möchte eine zweispaltige Tabelle anzeigen, in der ersten Spalte steht der Künstler, in der zweiten sein Werk. Da die Seite nicht scrollbar ist, will ich, dass nur 10 Einträge pro Seite angezeigt werden und man dann vor und zurückblättern kann.

Danke an Eure Hilfe Stefan
Mit Zitat antworten
  #2  
Alt 15.12.2006, 16:08:01
BenniG. BenniG. ist offline
Member
 
Registriert seit: Oct 2006
Beiträge: 610
AW: Anzahl der Einträge beschränken - Fehler!?

Eiei, bist du ein Performance-Verschwender.
PHP-Code:
<?php
$anzeigen
=10;
$host="localhost";
$user="root";
$pass="";
$db="benni";
$PHP_SELF=$_SERVER['PHP_SELF'];

$start=1;
if (isset(
$_GET['start'])) $start=$_GET['start'];


//Auslesen der Einträge
$link mysql_connect ($host,$user,$pass);
mysql_select_db($db$link);


//Ermitteln der Anzahl der Einträge
$sql1 "SELECT count(*) FROM bilder";
$result1 mysql_query($sql1$link);
$max mysql_result($result1,0,0);

?>

<html>
<head>
<title>Bilderverwaltung</title>
</head>
<body>

<?php
//Ausgeben der Einträge
$sql "SELECT BildID, artistname, bildname FROM bilder WHERE BildID >=1 ORDER BY artistname LIMIT $start , $anzeigen";
$result mysql_query($sql$link);
while(
$ergebnis mysql_fetch_array($result))
{
    echo 
'
        <table border="0" width="500"><tr><td>' 
$ergebnis['artistname'] . '</td>
            <td align="left">' 
$ergebnis['bildname'] . ' </td> </tr>
        </table>'
;
}

//Ausgeben der Weiter und zurück Buttons
echo "<table border=0 width=500><tr><td align=left>";
if(
$start>=$anzeigen){echo "<a href='".$PHP_SELF."?start=".($start-$anzeigen)."'>zurück</a>";}
echo 
"</td><td align=right>";
if(
$start+$anzeigen<$max){echo "<a href='".$PHP_SELF."?start=".($start+$anzeigen)."'>weiter</a>";}
echo 
"</tr></table>";
?>
</body>
</html>

//Scriptende

Geändert von BenniG. (15.12.2006 um 16:10:08 Uhr)
Mit Zitat antworten
  #3  
Alt 15.12.2006, 16:25:14
sfelder sfelder ist offline
Anfänger
 
Registriert seit: Dec 2006
Alter: 47
Beiträge: 43
AW: Anzahl der Einträge beschränken - Fehler!?

Danke, ich weiß, dass mein Code oftmals überladen ist, aber ich bin noch nicht so lange mit php beschäftigt und anders verstehe ich es oft nicht. Da merkt man, dass Du da einen Plan hast. Danke für die schnelle Antwort.

Dennoch zeigt er mir folgenden Fehler aus:

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /homepages/31/d172136732/htdocs/bilder3.php on line 18

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homepages/31/d172136732/htdocs/bilder3.php on line 31

... und da bin ich jetzt in Deinem Code überfragt. Was fehlt?

Stefan
Mit Zitat antworten
  #4  
Alt 15.12.2006, 16:30:40
BenniG. BenniG. ist offline
Member
 
Registriert seit: Oct 2006
Beiträge: 610
AW: Anzahl der Einträge beschränken - Fehler!?

Variablen oben geändert?
Dann sollte es laufen, ist zumindest bei mir gelaufen..

Zur Performance:
count(*) ist um längen schneller als erstmal alle Einträge auszulesen und dann zu zählen.
Es macht wenig Sinn die Daten in ein Array auszulesen und dann später aus dem Array wieder rauszuholen. Wenn du die Daten eh nur einmal anzeigen willst macht auslesen und direkt ausgeben mehr sinn..

Außerdem hattest du register_globals=off nicht berücksichtigt:
http://de.php.net/register_globals
Mit Zitat antworten
  #5  
Alt 15.12.2006, 16:40:27
sfelder sfelder ist offline
Anfänger
 
Registriert seit: Dec 2006
Alter: 47
Beiträge: 43
AW: Anzahl der Einträge beschränken - Fehler!?

Danke, du hattest Recht, ich hatte einen Fehler in den Variablen. Jetzt gibt er mir 10 Ergebnisse aus, allerdings auch einen Fehler und keinen weiter Button. Was hab ich da vergessen?

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /homepages/31/d172136732/htdocs/bilder3.php on line 18
Chagall Peintre devant chevalet
Chagall Fleurs rouges et bleues
Chagall Nimrod
Chagall La nuit enchantée
Chagall Paysage à L´Isba
Chagall Coq au-dessus du toit rouge
Chagall La Famille
Chagall Profil au bouquet rose
Chagall Autour des deux ânes
Chagall Le jardin d´Eden

Sorry, dass ich Dich damit so nerve, aber irgendwie bin ich da jetzt ein wenig überfordert mit meinen php Kenntnissen, da ich sowas noch nie gemacht habe.

DANKE!
Mit Zitat antworten
  #6  
Alt 15.12.2006, 16:46:49
BenniG. BenniG. ist offline
Member
 
Registriert seit: Oct 2006
Beiträge: 610
AW: Anzahl der Einträge beschränken - Fehler!?

mach mal
PHP-Code:
$result1 mysql_query($sql1$link) or die (mysql_error()); 
Um die Einträge zu zählen.

Hast du mein Script 1 zu 1 übernommen, oder nur sachen hin und her kopiert?
Mit Zitat antworten
  #7  
Alt 15.12.2006, 16:53:21
sfelder sfelder ist offline
Anfänger
 
Registriert seit: Dec 2006
Alter: 47
Beiträge: 43
AW: Anzahl der Einträge beschränken - Fehler!?

Habs 1 zu 1 übernommen und nur die Variablen verändert und geprüft. Den Befehl hab ich eingegeben und dann erscheint:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(*) FROM bilder' at line 1

Liegt das am SQL Server? Wir haben nur Version MySQL 4 zur Verfügung.
Mit Zitat antworten
  #8  
Alt 15.12.2006, 16:56:34
BenniG. BenniG. ist offline
Member
 
Registriert seit: Oct 2006
Beiträge: 610
AW: Anzahl der Einträge beschränken - Fehler!?

Hast du zwischen count und (*) zufällig ein Leerzeichen reingebaut?
MySQL mag da nämlich keine Leerzeichen..
count(*) ist eine elementare Funktion und sollte immer funktionieren..
Mit Zitat antworten
  #9  
Alt 15.12.2006, 16:59:27
sfelder sfelder ist offline
Anfänger
 
Registriert seit: Dec 2006
Alter: 47
Beiträge: 43
AW: Anzahl der Einträge beschränken - Fehler!?

ES FUNKTIONIERT!!!!!

Vielen Dank, Du hast mir sehr geholfen. Ich wünschte, ich könnte Dir mal helfen, wird aber wohl nicht vorkommen, aber ich arbeite dran.

Spaß beiseite, Danke Danke, Danke....
Mit Zitat antworten
Antwort


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

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
uasort() sortieren nach anzahl der einträge DEv23 PHP Grundlagen 3 04.10.2006 17:55:40
Anzahl der Einträge aus DB erfahren Franky76 PHP Grundlagen 3 04.03.2005 22:07:48
Anzahl der Einträge auslesen inkvc17 PHP für Fortgeschrittene und Experten 2 28.05.2003 02:53:42
Anzeige der EInträge in der db funktioniert nicht. Darksaber PHP für Fortgeschrittene und Experten 1 09.12.2002 20:27:36
Fehler im Script? |Coding PHP für Fortgeschrittene und Experten 17 10.09.2002 09:42:03


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:32:41 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt