In Javascript PHP einbinden

CreativPur

Erfahrenes Mitglied
Hi,
ich habe hier ein Script, wo ich per Link den Seiteninhalt austauschen kann.

HTML:
<ul>
    <li><a href="#" onClick="window.location.reload()">Text 1</a></li>
      <li><a href="#" id="buttonText">Text 2</a></li>
      <li><a href="#" id="buttonText2">Text 3</a></li>
</ul>

  <h2 id="topic">Überschrift 1</h2>
  <div id="content">Inhalt 1</div>

Javascript:
<script>
$(document).ready(function(){
        // .text()
        $("#buttonText").click(function(){
            $("#topic").text("Test von Überschrift 2"); // Der Inhalt von #topic wird durch den Inhalt von .text() ersetzt
            $("#content").text("Test von Text 2"); // Der Inhalt von #content wird durch den Inhalt von .text() ersetzt
        });
        
        $("#buttonText2").click(function(){
            $("#topic").text("Test von Überschrift 3"); // Der Inhalt von #topic wird durch den Inhalt von .text() ersetzt
            $("#content").text("Test von Text 3"); // Der Inhalt von #content wird durch den Inhalt von .text() ersetzt
        });
});
</script>

Soweit, so gut.

Wie kann ich im Script PHP einbinden, so dass die Texte, wie z.B.

$("#buttonText").click(function(){
$("#topic").text("Test von Überschrift 2"); // Der Inhalt von #topic wird durch den Inhalt von .text() ersetzt
$("#content").text("Test von Text 2"); // Der Inhalt von #content wird durch den Inhalt von .text() ersetzt
});

aus meiner Datenbank entnommen werden ?

Mein Versuch, der fehl geschlagen ist...

PHP:
<?php
$sql = "SELECT * FROM seite_aendern WHERE site_name = 'Info'";
$site = $pdo->query($sql)->fetch();
?>
Javascript:
<script>
$(document).ready(function(){
        // .text()
        $("#buttonText").click(function(){
            $("#topic").text("<?php echo $site['site_ueberschrift1'] ?>"); // Der Inhalt von #topic wird durch den Inhalt von .text() ersetzt
            $("#content").text("<?php echo $site['site_text1'] ?>"); // Der Inhalt von #content wird durch den Inhalt von .text() ersetzt
        });
        
        $("#buttonText2").click(function(){
            $("#topic").text("<?php echo $site['site_ueberschrift2'] ?>"); // Der Inhalt von #topic wird durch den Inhalt von .text() ersetzt
            $("#content").text("<?php echo $site['site_text2'] ?>"); // Der Inhalt von #content wird durch den Inhalt von .text() ersetzt
        });
});
</script>
 

Yaslaw

n/a
Moderator
Entweder setzt du beim generieren des HTML-Files den Inhalt in ein Javascript oder du arbeitest mit Ajax
 

CreativPur

Erfahrenes Mitglied
ok..
Mit Ajax kenne ich mich absolut nicht aus. Bleibt mir nur das Genieren des HTML-Files.
Nur wie stelle ich das an ?
 

CreativPur

Erfahrenes Mitglied
Ich habe es jetzt folgend gelöst...

<ul>
<li><a href="#" onClick="window.location.reload()">Text 1</a></li>
<li><a href="#" id="buttonText">Text 2</a></li>
<li><a href="#" id="buttonText2">Text 3</a></li>
</ul>

<h2 id="topic">Überschrift 1</h2>
<div id="content">Inhalt 1</div>


<?php
$sql = "SELECT * FROM seite_aendern WHERE site_name = 'Startseite'";
$site = $pdo->query($sql)->fetch(); {
?>
<script>
$(document).ready(function(){
// .text()
$("#buttonText").click(function(){
$("#topic").text("<?php echo $site['site_name'] ?>"); // Der Inhalt von #topic wird durch den Inhalt von .text() ersetzt
$("#content").text("<?php echo $site['site_text'] ?>"); // Der Inhalt von #content wird durch den Inhalt von .text() ersetzt
});
});
</script>
<?php } ?>


<?php
$sql = "SELECT * FROM seite_aendern WHERE site_name = 'Info'";
$site = $pdo->query($sql)->fetch(); {
?>
<script>
$(document).ready(function(){
// .text()
$("#buttonText2").click(function(){
$("#topic").text("<?php echo $site['site_name'] ?>"); // Der Inhalt von #topic wird durch den Inhalt von .text() ersetzt
$("#content").text("<?php echo $site['site_text'] ?>"); // Der Inhalt von #content wird durch den Inhalt von .text() ersetzt
});
});
</script>
<?php } ?>
 

Yaslaw

n/a
Moderator
Du solltest die Tags kennen um den Code lesbar darzustellen...

Und es lohnt sich, in Ajax einzulesen.
Ich empfehle ajax über jquery zu nutzen. Das ist recht einfach.
 

CreativPur

Erfahrenes Mitglied
Dafür reichen leider meine Kenntnisse nicht aus.. Für Dich mag ajax und jQuery einfach sein. Ich blicke aber nicht durch
 

ComFreek

Mod | @comfreek
Moderator
Ich empfehle, dich zuerst über clientseitige und serverseitige Ausführung im Allgemeinen zu informieren. Ich vermute nämlich, dass dein fehlgeschlagener Versuch auf der Annahme basiert, dass PHP vom Browser ausgeführt wird, was nicht der Fall ist.
Wenn das HTML und JS erst einmal zum Browser geschickt worden ist, kannst du mit PHP "nichts mehr retten". Zur Rückkommunikation brauchst du zwingend AJAX.