ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
497
497
EMPFEHLEN
-
Hi,
ich habe eine Datenbank, in der sich mehrere Einträge befinden. Diese habe ich alle abgerufen. Nun zu meiner Frage. Die Einträge befinden sich alle untereinander. Nun möchte ich, dass man aus der "Liste" mit den Einträge einzelne auswählen kann. Das soll ungefähr so wie bei Wordpress funktionieren. Da sind ja alle News untereinander. Wenn man jetzt eine anklickt, wird nur die angeklickte angezeigt. Wie setze ich das um, dass ich so einzelne Datenbank einträge mit einem Mausklick auswählen und anzeigen lassen kann?
Ich hoffe man versteht was ich meine
Grüße
EDIT:
Ich habe es jetzt so, dass ich per Link die ID abrufen kann. Der Titel ist also immer ein Link mit der dazugehörigen id.
Der Link sieht dann immer wiefolgt aus: /index.php?id=25
Jedoch werden dann immernoch alle Einträge angezeigt und nicht nur der, mit der jeweiligen id. Wie mache ich es, dass dann nur der Eintrag mit z.B. der id 25 angezeigt wird?
EDIT2:
Ich hab hier mal den ganzen momentanen Code:
oben der row['titel'] wird ja mi der id verlinkt. Wenn man auf diesen klickt, soll nur dieser Eintrag angezeigt werden.PHP-Code:<?php include_once("db_news.php");
$sql = "SELECT * FROM `news`;";
$eintrage = mysql_num_rows(mysql_query($sql));
$maxproseite = 3;
$i = 0;
$ab =1;
if (isset($_GET['page'])) $ab = $_GET['page'];
$anzahl_seiten = ($eintrage / $maxproseite);
if (!isset($_GET['page'])) {
$sql = "SELECT * FROM `news` ORDER BY `id` DESC LIMIT 0,".$maxproseite.";";
} else {
$abeintrag = $_GET['page'] * $maxproseite - $maxproseite;
$sql = "SELECT * FROM `news` ORDER BY `id` DESC LIMIT ".$abeintrag.",".$maxproseite.";";
}
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
echo '
<div style="margin-left:10px">
<a href="index.php?id='.$row['id'].'"><b>'.$row['titel'].'</b></a><br />
<a class="datum">'.$row['datum'].'</a><br />
'.$row['text'].'<br /><br /></div>
<div align="center"><img src="image/grenze.png" alt="gre"/></div><br />';
}
$i=$ab ;
if($i > 1)
{
echo "<a href=\"index.php?section=gb&page=".($i-1)."\"><<Zurück</a> ";
}
if($i <= $anzahl_seiten)
{
echo " <a href=\"index.php?section=gb&page=".($i+1)."\">Nächste>></a>";
}
?>Geändert von dsNDesign (27.02.09 um 21:05 Uhr)
-
also. inwzischen habe ich es hinbekommen, dass wenn ich auf den titel klicke, dass es durch die id den eintrag anzeigt. jedoch ist es im code bisher nur so, dass es den eintrag unten unter den anderen anzeigt, da ich es ja auch einfach so geschrieben habe.
so sieht es aus:
Nun möchte ich mit einer if-Anweisung abfragen, ob die URL nur index.php beträgt oder z.B. index.php?id=24. Ich möchte es nämlich so machen, dass bei index.php ganz normal die einträge untereinander angezeigt werden, und wenn noch ein ?id=24 dabei ist, soll nur der Eintrag mit der dazugehörigen id angezeigt werden.PHP-Code:<?php include_once("db_news.php");
$sql = "SELECT * FROM `news`;";
$eintrage = mysql_num_rows(mysql_query($sql));
$maxproseite = 3;
$i = 0;
$ab =1;
if (isset($_GET['page'])) $ab = $_GET['page'];
$anzahl_seiten = ($eintrage / $maxproseite);
if (!isset($_GET['page'])) {
$sql = "SELECT * FROM `news` ORDER BY `id` DESC LIMIT 0,".$maxproseite.";";
} else {
$abeintrag = $_GET['page'] * $maxproseite - $maxproseite;
$sql = "SELECT * FROM `news` ORDER BY `id` DESC LIMIT ".$abeintrag.",".$maxproseite.";";
}
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
echo '
<div style="margin-left:10px">
<a href="index.php?id='.$row['id'].'"><b>'.$row['titel'].'</b></a><br />
<a class="datum">'.$row['datum'].'</a><br />
'.$row['text'].'<br /><br /></div>
<div align="center"><img src="image/grenze.png" alt="gre"/></div><br />';
}
$i=$ab ;
if($i > 1)
{
echo "<a href=\"index.php?section=gb&page=".($i-1)."\"><<Zurück</a> ";
}
if($i <= $anzahl_seiten)
{
echo " <a href=\"index.php?section=gb&page=".($i+1)."\">Nächste>></a>";
}
// einzelner Eintrag
$id = $_GET['id'];
$sql2 = mysql_query("SELECT * FROM news WHERE id = '$id'");
if($row = mysql_fetch_assoc($sql2)) {
echo '
<div style="margin-left:10px">
<a href="index.php?id='.$row['id'].'"><b>'.$row['titel'].'</b></a><br />
<a class="datum">'.$row['datum'].'</a><br />
'.$row['text'].'<br /><br /></div>
<div align="center"><img src="image/grenze.png" alt="gre"/></div><br />';
}
?>
Wie kann ich mit den hinteren Teil der URL überprüfen lassen (also das ?id=24)?
GrüßeGeändert von dsNDesign (28.02.09 um 14:02 Uhr)
-
28.02.09 17:16 #3
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
Ich weiß auch nicht so genau, wo das Problem lag. Irgendwie stand ich auf dem Schlauch.
Inzwischen geht es. Hier mein Final Code:
PHP-Code:<?php include_once("db_news.php");
$sql = "SELECT * FROM `news`;";
$eintrage = mysql_num_rows(mysql_query($sql));
$maxproseite = 3;
$i = 0;
$ab =1;
if (isset($_GET['page'])) $ab = $_GET['page'];
$anzahl_seiten = ($eintrage / $maxproseite);
if (!isset($_GET['page'])) {
$sql = "SELECT * FROM `news` ORDER BY `id` DESC LIMIT 0,".$maxproseite.";";
} else {
$abeintrag = $_GET['page'] * $maxproseite - $maxproseite;
$sql = "SELECT * FROM `news` ORDER BY `id` DESC LIMIT ".$abeintrag.",".$maxproseite.";";
}
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
if(!isset($_GET['id'])) {
echo '
<div style="margin-left:10px">
<a href="index.php?id='.$row['id'].'"><b>'.$row['titel'].'</b></a><br />
<a class="datum">'.$row['datum'].'</a><br />
'.$row['text'].'<br /><br /></div>
<div align="center"><img src="image/grenze.png" alt="gre"/></div><br />';
}}
$i=$ab ;
if($i > 1 and !isset($_GET['id']))
{
echo "<a href=\"index.php?section=gb&page=".($i-1)."\"><<Zurück</a> ";
}
if($i <= $anzahl_seiten and !isset($_GET['id']))
{
echo " <a href=\"index.php?section=gb&page=".($i+1)."\">Nächste>></a>";
}
// einzelner Eintrag
$id = $_GET['id'];
$sql2 = mysql_query("SELECT * FROM news WHERE id = '$id'");
if($row = mysql_fetch_assoc($sql2) and isset($_GET['id'])) {
echo '
<div style="margin-left:10px">
<a href="index.php?id='.$row['id'].'"><b>'.$row['titel'].'</b></a><br />
<a class="datum">'.$row['datum'].'</a><br />
'.$row['text'].'<br /><br /></div>
<div align="center"><img src="image/grenze.png" alt="gre"/></div><br />';
}
?>
-
28.02.09 17:50 #5
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
noch ein Hinweis zur Sicherheit: Du solltest niemals Daten aus Usereingaben ungeprüft verwenden (z.B. in Datenbankabfragen). Google mal nach dem Stichwort SQL-Injection.
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
28.02.09 17:50 #6
du solltest auch noch alles prüfen was der nutzer verändern kann!!
glaube dem nutzer niePHP-Code:$id = $_GET["id"];
$id = mysql_real_escape_string($id);
Jeder freut sich über eine positive Bewertung oder ein Danke :)
Mein MottoWie poste ich falsch
Nachdem ich Google, die FAQ und die interne Suche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen in den falschen Unterforen, mit kreativen Titel und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann. Helfende Posts anderer Mitglieder ignoriere ich einfach und nörgle, dass mir niemand helfen kann.
-
28.02.09 17:57 #7
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
da die id aber vermutlich ein integer-Wert ist, sollte man sie auch dementsprechend behandeln. mysql_real_escape_string() maskiert Zeichen mit Sonderbedeutung in Strings. Ich würde hier eher abfragen, ob $_GET['id'] überhaupt ein integer ist.
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
28.02.09 18:43 #8
ich meinte nur mal grundsätzlich
Jeder freut sich über eine positive Bewertung oder ein Danke :)
Mein MottoWie poste ich falsch
Nachdem ich Google, die FAQ und die interne Suche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen in den falschen Unterforen, mit kreativen Titel und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann. Helfende Posts anderer Mitglieder ignoriere ich einfach und nörgle, dass mir niemand helfen kann.
-
Danke für die Tipps. Werd es mir später nochmal genau anschauen.
Ähnliche Themen
-
[mySQL 5] Zu den Monaten Einträge zählen und Monate ohne Einträge auch ausgeben.
Von FlaverSaver im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 27.09.10, 18:11 -
Array in MySQL speichern und abrufen
Von Lachkopf im Forum PHPAntworten: 2Letzter Beitrag: 11.05.08, 21:48 -
Brauch euren Rat... Einzelne Einträge aus Datenbank löschen
Von maga147 im Forum PHPAntworten: 17Letzter Beitrag: 27.08.05, 14:36 -
Einzelne Einträge sperren
Von Eiszwerg im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 04.06.03, 19:11 -
MySQL Fehlermeldung mit PHP abrufen?
Von Moartel im Forum PHPAntworten: 1Letzter Beitrag: 23.08.01, 15:08





Zitieren


Login





