index.php?site=downloads&id=2

suri

Grünschnabel
hallo,
also wie man normal includet weis ich ja schon, ich benutze folgenden code:

<?php
if (!isset($site)) { $site="home"; }
if (file_exists($site.".php")) { include($site.".php"); } else { echo " <br><b><center>nicht vorhanden</center></b><br> "; }
?>

nur wie geht das, wenn ich z.b. auf index.php?site=downloads alle downloads in tabellen aufgelistet habe, und ich z.b. nur den 2. anschauhen möchte (ohne alle anderen) - praktisch so: index.php?site=downloads&id=2

danke im voraus!
mfg suri
 
Dann müssen halt in die includete Datei nochmal switch oder if Bedingungs-Abfragen.
<- verwarnt sich selbst, wegen Einzeilenposting.
 
mhhh...wenn ich z.b. bei downloads.php(index.php?site=downloads) ne tabelle einfüge, wo der gleiche php code nochmal drinsteht (nur halt dann mit id=2 und so), dann wird ja der ganze downloads.php mist nochmal geladen, und dann dass &id=2 darüber (oder darunter jenachdem wo der code drin steht!) .... und so will ichs net :(
 
Hi,

ich mach das immer so:
PHP:
if (isset($id)
{
  //Hier Ausgabe für nur einen Download hin
  $sql = "select * from downloads where id = '$id'";
  [...]  
}
else
{
  //Hier ausgabe für alle Downlaods hin
 $sql = "select * from downloads";
  [...]
}

Wenn du es geschickt anstellst, brauchst Du theoretisch nur das SQL Statement ändern, wenn $id gesetzt ist.

Viel Spass :)
 
Natürlich nicht genau den ganzen kram nochmal darein. Klingt irgendwie so, als hättest du wahnsinnig viel Praxiserfahrung in Sachen PHP :-)
Du musst dann halt in der Datei, die du includest weitere angepasste switch Abfragen gestalten, die dafür sorgen, dass das angezeigt wird, was du willst.
 
mach's am besten so:
PHP:
<!--inhalt der downloads.php-->
<table>
<?php
switch($id)
{
case "1":
?>
<tr><td>download1</td></tr>
<?php
break;
case "2":
?>
<tr><td>download2</td></tr>
<?php
break;
case "3":
?>
<tr><td>download3</td></tr>
<?php
break;
case "4":
?>
<tr><td>download4</td></tr>
<?php 
break;
} 
?>
(hab's nicht ausprobiert, müsste aber gehen)
und dann einfach mit index.php?site=downloads aufrufen und in der index dein normales script verwenden
 
Moin, seh gerad erstmal wieder ein typischer Fehler meinerseits.

Die erste Zeile muss lauten:
PHP:
if (isset($id))

Hatte die rechte Klammer vergessen.


Der link muss natürlich so heissen, wie vorher auch. Das war ja dein Wunsch ;)

Also http://blabla/index.php?content=downloads&id=2

Bedenke, dass du per include("downloads.php") keine Variablen übergeben kannst, soweit ich das weiß

Um die URLs zu benutzen musst du dann dort, wo du die Tabelle ausgibst, einfach auf den Namen des Downloads den Link setzen. Also:
PHP:
<a href="index.php?content=downloads&id=1">Download 1</a>
<a href="index.php?content=downloads&id=2">Download 2</a>
<a href="index.php?content=downloads&id=3">Download 3</a>
 
Ich empfehle (vielleicht zum letzten Mal):
- Lies dir den Thread nochmal genau durch
- setze Logik ein
Ansatz:
-Da content=download gesetzt ist, wird auf jedenfall auch wieder die download page eingebunden.
-Fragestellung ? Wie bekomme ich denn trotzdem die Detailansicht ?
-Gedankengang: Was unterscheidet einen Detaillink von der Downloadübersicht ?
-IDEE: Aaaah....da hängt ja noch ein id=x dran. isset() ist mein Freund.

Wenn das als Anregung nicht reicht, weiss ichs auch nicht. Bei weiteren "hochqualifizierten" Kommentaren, die dem Postenden automatisch jedweges Vorhandensein von logischem Denkvermögen absprechen :rolleyes: werde ich den Thread dann wohl closen ;-)
 
Zurück