Probleme php und DB verbinden

Daveman

Grünschnabel
Halli hallo :)
Bin noch nicht lange dabei, und bin auf viel hilfe angewiesen, hoffe ihr könnt und wollt mir helfen :)

zu mein prob....

das ist jetzt z.b. meine alte seite mit dem alten design

http://www.melli-dave.de/daveman/index.php

vorher war sie in html und mit frames, aber wollte auch mal ein wenig professioneller werden, also versuche ich mich jetzt an php und includen :)

jetzt hab ich das mit includen z.b. so gemacht

http://www.melli-dave.de/daveman/index.php?go=hmangas/site/x5g

aber da ich auch nicht jede seite einzelnd machen möchte und das lieber über datenbank machen möchte, hab ich das mit templates so gemacht

http://www.melli-dave.de/daveman/output.php?id=1

aber wie kann ich das jetzt verbinden, das es wie da oben aussieht?

hoffe ihr habt mich halbwegs verstanden, kann ganz schleckt erklären :)

thx und cya
Daveman
 
so dann fangen wir mal an also ^^ nehmen wir mal du hast ne datei die so aussieht

home.php
PHP:
switch($open) // befehl fuer den zu includenden parameter
{
      case members: // name fuer anweisung
      include("output.php"); // die anweisung wird ausgeführt 
      // hier koennt auch noch was anderes hin meinetwegen dein
      // code dafuer is dir ueberlassen wird ausgeführt bis zum 
      // break;
      break;

      default: // standart ausgabe wenn $open leer ist
      include("news.php");
      break;
}
nu hierbei wuerdn link wie du siehst so aussehen
home.php?open=members

nun machst du dir das ganz einfach und schreibst den link so
home.php?open=members&id=0 !

bzw bei einer ausgabe aus der db wo dann eben deine members mit id stehn

PHP:
$select = "SELECT * FROM member";
$abfrage = mysql_query($select);
if(mysql_num_rows($abfrage) > 0) // nur um zu schaun ob nicht leer
{ 
while($row = mysql_fetch_object($abfrage))
{
  echo "<a href='home.php?open=members&id=$row->id'>$row->name</a><br>";
}
else { echo "tabelle leer"; 
}

aber in deinem fall wuerd ich das mit dem switchen weglassern und diese einfache if schleife nehmen
PHP:
if(isset($site)) { // überprüft ob $site gesetzt ist
   include($site) // includet $site
} else { // wen nicht gesetzt 
   include("news.php"); // default oder html ausgabe ka ^^
}

dann wider das selbe wie oben nur das du hier einfach
home.php?site=output.php&id=1
ebend mit der abfrage oben kombinieren ^^

so fertig ich hoff hilft dir a bissel
see u
 
Zuletzt bearbeitet:
so ganz rall ich das noch nicht :(

den code den ich zum includen habe ist der

PHP:
<?php
if ($go=='' || ! file_exists($go .".php")) { $go="kontakt/kontakt";}
include($go.".php");

?>
 
hi dave :D !

also deinen code würde ich erstmal etwas abändern und zwar so... (was aber nicht unbedingt bedeuten muss, dass der besser ist *g*)

PHP:
<?php

if (($go == "") || (!file_exists($go.".php")) || (!isset($go))) {
  include("./kontakt/kontakt.php");
} else {
  include("./".$go.".php");
}

?>
wenn du jetzt noch eine id mit einbinden wollen würdest, dann müsste das ganze so aussehen...

PHP:
<?php

if (($go == "") || (!file_exists($go.".php")) || (!isset($go))) {
  include("./kontakt/kontakt.php");
} else {
  if (($id == "") || (!isset($íd))) {
    include("./".$go.".php");
  } else {
    include("./".$go.".php?id=".$id);
  }
}

?>
[edit1]
mir fällt gerade ein, dass es eventuell nicht include("./".$go.".php?id=".$id); heißen muss, sondern nur include("./".$go.".php");, weil ja durch das id=## in der url die variable $id schon definiert wird und in der include datei automatisch genutzt werden sollte, wenn ich mich nicht irre, wodurch das else auch unsinnig wäre... müsste dann so aussehen...

PHP:
<?php

if (($go == "") || (!file_exists($go.".php")) || (!isset($go))) {
  include("./kontakt/kontakt.php");
} else {
  include("./".$go.".php");
}

?>
dies allerdings würde deiner fassung entsprechen, die ja anscheinend nicht funktioniert... erklär mir dein problem einfach nochmal *gg* !
[/edit1]

vielleicht hat's dir ja trozdem weitergeholfen, wenn nicht auch nicht schlimm :) !

gruß alpha

[edit2]
so... problem gerade behoben... ich erklär's nochmal *g*

wenn die datei index.php aufgerufen wurde mit dem link www.url.de/?go=mangas dann wurde in der index.php an einer stelle die mangas.php included ! bei einem aufruf der datei output.php (www.url.de/output.php&id=##) wird aber eine id benötigt, da diese datei einen datensatz, eben mit einer bestimmten id aus einer datenbank ausliest... wenn man diese datei nun also included (url = www.url.de/?go=output&id=##) war damit das problem gelößt, weil die id, die in der url definiert wurde, ja in der eingebundenen output.php einfach weitergenutzt werden konnte... ergo -> problem geloßt...

qed

gruß alpha
[/edit2]
 
Zurück