In Javascript PHP einbinden


CreativPur

Erfahrenes Mitglied
#1
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>
 

CreativPur

Erfahrenes Mitglied
#4
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
#5
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.
 

ComFreek

Mod | @comfreek
Moderator
#7
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.
 

Neue Beiträge