Antworten auf deine Fragen:
Neues Thema erstellen

php include() - kein Inhalt

strichcode

Nicht mehr ganz neu hier

Hallo Ihr Lieben,

da mein Internetprojekt, dessen Inhalte ich aus einer Datenbank ziehe, demnächst viel größer wird, will ich die Seiten in Blöcke unterteilen und via php wieder an passender Stelle einlesen.
Das sollte laut Internet mittels include() kein Problem sein, ich beiss hier aber in die Tischkante - es gelingt mir einfach nicht.

Könnt Ihr mir vlt. auf die Sprünge helfen?

dateiname.php:
PHP:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<title>dateiname</title>
...
<body >
...
<div id="menue">
<?php
include("menue.php");
?>
</div><!--menu-->
<div id="mitte">
<h1><br>Überschrift</h1>
...usw
<?php
// Fehler unterdrücken
error_reporting(E_ALL);

// Verbindung aufbauen, auswählen einer Datenbank
$mysql_host = "***"; 
$mysql_user = "***";
$mysql_password = "***";
$mysql_db = "***";

$dbh = mysql_connect($mysql_host, $mysql_user, $mysql_password)
    or die("Keine Verbindung möglich: " . mysql_error());

mysql_select_db($mysql_db) or die("Auswahl der Datenbank fehlgeschlagen");


// Ausführen einer SQL-Anfrage

$abfrage = "SELECT * FROM db_name WHERE HAUS_LAND = 'DK' AND HAUS_STILL_REISENDERWOCHE LIKE 'on' ORDER BY HAUS_STILL_NUMMER";
$ergebnis = mysql_query($abfrage);
while ($daten = mysql_fetch_assoc( $ergebnis)) {
}
include("inhalt.php");
?>
inhalt.php:
PHP:
<?php
  echo '
<table width="777" cellpadding="5" id="rand" >
  <tr>
<td class="ohne"><b>Unterkunftsart:</b> </td>
 <td class="ohne">'.$daten['HAUS_STILL_PFAD'].'</td>
</tr>
<tr>
<td class="ohne"><b>Geeignet für:</b></td>
<td calss="ohne">'.$daten['HAUS_KATALOG_TEXT'].'</td>
</tr>
<tr>
 <td class="ohne"><b>Grundst&uuml;ck:</b> </td>
 <td class="ohne">'.$daten['HAUS_GRSTINQM'].'</td>
</tr>
</table>
 ';
?>
Die Seite wird ordnungsgemäß dargestellt. Der Menue-Block z.B. wird eingelesen.
Aber an der Stelle, wo der Inhalt sein sollte, steht entweder nichts, oder
Notice: Undefined offset: 0 in C:\xampp\htdocs\daenemark\finale\inhalt.php on line 125

Er hat irgendwie "nix im Kopf".
Die Stelle hier:
PHP:
while ($daten = mysql_fetch_assoc( $ergebnis)) {
}
ist so bestimmt falsch mit den Klammern. Aber wenn ich es so schreibe liest er die inhalt.php überhaupt ein - nur eben leer.

Ich habe das ganze jetzt hier sehr verkürzt dargestellt, der vollständige Code wäre viel zu lang. Und ich hoffe, beim kürzen nichts wichtiges übersehen zu haben.
Mittlerweile habe ich soviel, verschoben, getausch und sonstwie ausprobiert, ich
habe keine Idee mehr.


Es ist wichtig, das ich den Teil mit der SQL-Abfrage in der datei dateiname.php unterbringen kann. Setze ich die Abfrage in die inhalt.php funktioniert alles.
Das hilft mir aber leider nichts wenn ich gefühlte 150 dateinamexy.php habe. Das Ziel ist, bei Änderungen nicht die ganzen 150 dateien ändern zu müssen.

Könnt Ihr mir helfen?
LG
Heike
 

holgermerz

Nicht mehr ganz neu hier

AW: php include() - kein Inhalt

Hallo,
include mal die Datei 'inhalt.php' in die while-Schleife.
also so:
while ($daten = mysql_fetch_assoc( $ergebnis)) {
include(
"inhalt.php");

}


Bei dir kommt der Inhalt NACH der while-Schleife!
 

strichcode

Nicht mehr ganz neu hier

AW: php include() - kein Inhalt

Hallo holgermerz,

so einfach ist es leider nicht.
Wenn ich das tue, kommt an der Stelle wo der Inhalt kommen sollte gar nichts.
Nicht mal mehr die Fehlermeldung und auch keine leere Tabelle.

Was mache ich blos falsch?

Gruß
Heike
 

TECFreddy

"alles und nichts"-Könner

AW: php include() - kein Inhalt

Hallo Heike,

wenn du in der while-Schleife keine Anweisung schreibst, dann macht er natürlich nichts.
Mein Ansatz wäre folgender:
inhalt.html
HTML:
<table width="777" cellpadding="5" id="rand" >
  <tr>
<td class="ohne"><b>Unterkunftsart:</b> </td>
 <td class="ohne">%HAUS_STILL_PFAD%</td>
</tr>
<tr>
<td class="ohne"><b>Geeignet für:</b></td>
<td calss="ohne">%HAUS_KATALOG_TEXT%</td>
</tr>
<tr>
 <td class="ohne"><b>Grundst&uuml;ck:</b> </td>
 <td class="ohne">%HAUS_GRSTINQM%</td>
</tr>
</table>
PHP:
$template = file_get_contents('inhalt.html');//hole html Gerüst aus der Inhalt.html
$inhalt = ''; // initialisiere Variable $inhalt mit "leerem Inhalt"
while ($daten = mysql_fetch_assoc($ergebnis)) {
   $inhalt .= $template;// hänge das Gerüst an $inhalt an
   $inhalt = preg_replace("%HAUS_STILL_PFAD%", $daten['HAUS_STILL_PFAD'], $inhalt);// ersetze Platzhalter mit Daten
   $inhalt = preg_replace("%HAUS_KATALOG_TEXT%", $daten['HAUS_KATALOG_TEXT'], $inhalt);// ersetze Platzhalter mit Daten
   $inhalt = preg_replace("%HAUS_GRSTINQM%", $daten['HAUS_GRSTINQM'], $inhalt);// ersetze Platzhalter mit Daten
}
echo $inhalt; // gebe Inhalt aus
Wenn ich keinen Denkfehler habe, sollte dieser Code funktionieren, getestet habe ich ihn allerdings nicht. Inwiefern dieser Code performance technisch gut ist, kann ich auch nicht beurteilen. Vielleicht hat ein PHP Profi auch einen besseren Rat für dich.
Ich hoffe das hilft zumindest für's Erste.

Liebe Grüße
Benni
 

strichcode

Nicht mehr ganz neu hier

AW: php include() - kein Inhalt

Jau! Das gehört jetzt aber ganz feste in die Kategorie "peinliche Fragen im Forum".
Ich habe meinen Fehler gefunden.
Dank holgermerz habe ich kapiert, das include in die while-Schleife gehört.
Und dank Benni habe ich, weil ich mich gerade dran setzten wollte, den ganzen Kram
umzuschreiben, wie er es vorschlug...
und dann habe ich es gesehen: die SQL-Abfrage war falsch, deshalb hat es nicht geklappt.
peinlich, peinlich.
Für alle, die später mal das gleiche Problem haben sollten: es geht genau so, wie ich es geschrieben habe mit der Korrektur von Holger.
Ich danke Euch beiden für's Augenöffnen und
wünsche ein schönes Wochenende.
 

Vagant

Nicht mehr ganz neu hier

AW: php include() - kein Inhalt

Ja manchmal sieht man den Wald vor lauter Bäume nciht, das hatte ich hier auch schon ein paar mal
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.066
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben