Blätterfunktion - Readmore Funktion

EGJSoldier

Erfahrenes Mitglied
Hallo zusammen,
ich habe dierekt mal drei Fragen:

1. Ich habe mal versucht eine Blätterfunktion zu Bauen. Das Problem ist:
Die Links für die Seiten werden zwar angezeigt, aber ich sehe beim öffnen der Seite immer noch alle.

2. Ich versuch direkt noch eine readmore funktion mit einzubauen. Das Problem ist:
Ich weiß nicht, wie ich die Links verinken soll.

Hoffe ihr könnt mir weiterhelefen.


PHP:
<?php

$mysqlhost="localhost"; // MySQL-Host angeben
$mysqluser="root"; // MySQL-User angeben
$mysqlpwd=""; // Passwort angeben

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die
("Konnte keine Verbindung zu Datenbank aufbauen!");

$mysqldb="Portfolio"; // Gewuenschte Datenbank angeben
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht
waehlen.");
//-*--------------------------------------------------------------------------------------------------------------------------

$sql = "SELECT * FROM referenten";               //Anstatt 'Tabelle' natürlich die betreffende Tabelle auswählen
$adressen_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");
$eintrage = mysql_num_rows(mysql_query($sql));   //Die Einträge der Tabelle herausholen
$maxproseite = 2;                                //Statt der 5 die maximale Anzahl der Einträe pro Seite angeben
$i = 0;

$seiten = $eintrage / $maxproseite;              //Anzahl der Seiten errechnen

if (!isset($_GET['page'])) {                     //normalabfrage, wenn keine Seite gegeben ist.
    $sql = "SELECT * FROM `referenten` ORDER BY `ID` LIMIT 0,".$maxproseite.";";  
} else {                                         //Abfrage, wenn eine Seitenzahl gegeben ist.
    $abeintrag = $_GET['page'] * $maxproseite - $maxproseite;
    $sql = "SELECT * FROM `referenten` ORDER BY `ID` LIMIT ".$abeintrag.",".$maxproseite.";";
}

$anzahl = mysql_num_rows($adressen_query);
echo "Anzahl der Datensätze: $anzahl";
?>
<br /><br />
<table width="1000px" cellpadding="3" cellspacing="3" border="1">

<tr>

<td>ID</td>
<td>Headline</td>
<td>Data</td>
<td>Image</td>
<td>URL</td>
<td>Description</td>
<td>Stautus</td>
<td>Type</td>
<td>Readmore</td>
</tr>



<?php

while ($adr = mysql_fetch_array($adressen_query)){

?>

<tr>

<td><?=$adr['ID']?></td>
<td><?=$adr['name']?></td>
<td><?=$adr['data']?></td>
<td><img src="<?=$adr['image']?>" /></td>
<td><a href="<?=$adr['url']?>"><?=$adr['url']?></a></td>
<td><?=$adr['description']?></td>
<td><?=$adr['status']?></td>
<td><?=$adr['type']?></td>
<td><a href="referenten&amp;newsID='.$adr['ID']'">READ MORE</a></td>
</tr>

<?php

}

echo "Seite ";
for($i = 1; $i - 1< $seiten; $i++){              //Ausgabe der Linkliste
    echo "<a href=\"index.php?section=gb&page=".$i."\">".$i."</a> ";
}
?>

MfG
EGJSoldier
 
Hi,

Du sendest die zweite Abfrage (mit der LIMIT-Klausel) nirgends ab. Stattdessen machst Du die Schleife über das Ergebnis aller Datensätze ($adressen_query).

LG
 
ok danke erstmal, ich kann jetzt Blättern.

Jetzt werden meine Datensätze aber nicht mehr angezeigt, also es wird nichts mehr aus der Datenbank ausgelesen.

PHP:
<?php

$mysqlhost="localhost"; // MySQL-Host angeben
$mysqluser="root"; // MySQL-User angeben
$mysqlpwd=""; // Passwort angeben

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die
("Konnte keine Verbindung zu Datenbank aufbauen!");

$mysqldb="Portfolio"; // Gewuenschte Datenbank angeben
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht
waehlen.");
//-*--------------------------------------------------------------------------------------------------------------------------

$sql = "SELECT * FROM referenten";               //Anstatt 'Tabelle' natürlich die betreffende Tabelle auswählen
$adressen_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");
$eintrage = mysql_num_rows(mysql_query($sql));   //Die Einträge der Tabelle herausholen
$maxproseite = 2;                                //Statt der 5 die maximale Anzahl der Einträe pro Seite angeben
$i = 0;

$seiten = $eintrage / $maxproseite;              //Anzahl der Seiten errechnen

if (!isset($_GET['page'])) {                     //normalabfrage, wenn keine Seite gegeben ist.
    $sql = "SELECT * FROM `referenten` ORDER BY `ID` LIMIT 0,".$maxproseite.";";  
} else {                                         //Abfrage, wenn eine Seitenzahl gegeben ist.
    $abeintrag = $_GET['page'] * $maxproseite - $maxproseite;
    $sql = "SELECT * FROM `referenten` ORDER BY `ID` LIMIT ".$abeintrag.",".$maxproseite.";";
}

$result = mysql_query($sql);
echo "Anzahl der Datensätze: $anzahl";
?>
<br /><br />
<table width="1000px" cellpadding="3" cellspacing="3" border="1">

<tr>

<td>ID</td>
<td>Headline</td>
<td>Data</td>
<td>Image</td>
<td>URL</td>
<td>Description</td>
<td>Stautus</td>
<td>Type</td>
<td>Readmore</td>
</tr>



<?php

while($row = mysql_fetch_assoc($result)){

?>

<tr>

<td><?=$adr['ID']?></td>
<td><?=$adr['name']?></td>
<td><?=$adr['data']?></td>
<td><img src="<?=$adr['image']?>" /></td>
<td><a href="<?=$adr['url']?>"><?=$adr['url']?></a></td>
<td><?=$adr['description']?></td>
<td><?=$adr['status']?></td>
<td><?=$adr['type']?></td>
<td><a href="referenten&amp;newsID='.$adr['ID']'">READ MORE</a></td>
</tr>

<?php

}

echo "Seite ";
for($i = 1; $i - 1< $seiten; $i++){              //Ausgabe der Linkliste
   echo "<a href=\"readreferenzen2.php?page=".$i."\">".$i."</a> "; 
}
?>

MfG
EGJSoldier
 
Hi,

Du musst halt auch mal debuggen:

PHP:
error_reporting(E_ALL);
...
$result = mysql_query($sql) or die($sql . '<br>' . mysql_error());

LG
 
jo danke erstmal für deine Hilfe. Jetzt funktioniert es.
Ich habe aber immer noch ein Problem mit der Readmore funktion. Ich habe mir da auch schon was gebastelt. aber es funktioniert nichht. Wenn ich auf Read More klicke, dann verlinkt er immer auf die erste Seite.

Hier mal der Code:
PHP:
<?php

$mysqlhost="localhost"; // MySQL-Host angeben
$mysqluser="root"; // MySQL-User angeben
$mysqlpwd=""; // Passwort angeben

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die
("Konnte keine Verbindung zu Datenbank aufbauen!");

$mysqldb="Portfolio"; // Gewuenschte Datenbank angeben
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht
waehlen.");
//-*--------------------------------------------------------------------------------------------------------------------------

$sql = "SELECT * FROM `referenten`";               //Anstatt 'Tabelle' natürlich die betreffende Tabelle auswählen
$eintrage = mysql_num_rows(mysql_query($sql));   //Die Einträge der Tabelle herausholen
$maxproseite = 2;                                //Statt der 5 die maximale Anzahl der Einträe pro Seite angeben
$i = 0;

$seiten = $eintrage / $maxproseite;              //Anzahl der Seiten errechnen

if (!isset($_GET['page'])) {                     //normalabfrage, wenn keine Seite gegeben ist.
    $sql = "SELECT * FROM `referenten` ORDER BY `ID` LIMIT 0,".$maxproseite.";";  
} else {                                         //Abfrage, wenn eine Seitenzahl gegeben ist.
    $abeintrag = $_GET['page'] * $maxproseite - $maxproseite;
    $sql = "SELECT * FROM `referenten` ORDER BY `ID` LIMIT ".$abeintrag.",".$maxproseite.";";
}

if(isset($_POST['readmore'])){
  $sql = "SELECT * FROM `referenten` WHERE ID = ".$adr['ID']."";
	}

$result = mysql_query($sql);
?>
<br /><br />
<table width="1000px" cellpadding="3" cellspacing="3" border="1">

<tr>

<td>ID</td>
<td>Headline</td>
<td>Data</td>
<td>Image</td>
<td>URL</td>
<td>Description</td>
<td>Stautus</td>
<td>Type</td>
<td>Readmore</td>
</tr>



<?php

while($adr = mysql_fetch_assoc($result)){

?>

<tr>

<td><?=$adr['ID']?></td>
<td><?=$adr['name']?></td>
<td><?=$adr['data']?></td>
<td><img src="<?=$adr['image']?>" /></td>
<td><a href="<?=$adr['url']?>"><?=$adr['url']?></a></td>
<td><?=$adr['description']?></td>
<td><?=$adr['status']?></td>
<td><?=$adr['type']?></td>
<td> <?php 
$string = 'Read More';
echo "<a href=\"readreferenzen2.php?readmore=".$adr['ID']."\">".$string."</a> "; ?></td>

</tr>

<?php

}

echo "Seite ";
for($i = 1; $i - 1< $seiten; $i++){              //Ausgabe der Linkliste
   echo "<a href=\"readreferenzen2.php?page=".$i."\">".$i."</a> "; 
}
?>

MfG
EGJSoldier
 
Ich habe deinen Code jetzt nur grob überflogen, jedoch solltest du nicht auf $_POST, sondern auf $_GET prüfen, würde ich behaupten. ;)

Sprich aus
PHP:
if(isset($_POST['readmore'])){
wird
PHP:
if(isset($_GET['readmore'])){
 
Jetzt bekomme ich immer diese Fehlermeldung, wenn ich auf "READ MORE" klicke:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\Portfolio\readreferenzen2.php on line 55

MfG
EGJSoldier
 
Du musst in deiner Query auch die übergebene Id einfügen. Das Array $adr, auf das du zuzugreifen versuchst, existert dort oben nicht.
 
Das heißt in Zeile 15 muss anstatt
PHP:
"SELECT * FROM `referenten`"

PHP:
"SELECT * FROM `referenten` WHERE ID"
stehen, oder
 
Zuletzt bearbeitet:
Zurück