2017-04-11 5 views
0

aus einer Datenbank wie dieserMehrere Pfostenteile in derselben Seite

[     POSTS     ] 
    | id |  title | part1 | part2 | part3 | 
    |------|--------------|-------------|-------------|-------------| 
    | 1 |  ST1  | storyp1 | storyp1 | storyp1 | 
    | 2 |  ST2  | storyp2 | storyp2 | storyp2 | 
    | 3 |  ST3  | storyp3 | storyp3 | storyp3 | 
    | 4 |  ST4  | storyp4 | storyp4 | storyp4 | 
    __________________________________________ 

Wie kann ich trennen eine Seite in 3 Stücke gezeigt werden, wenn auf eine Schaltfläche zu klicken?

<?php 
$query = "SELECT * FROM posts WHERE id = :id"; 
$stmt = $conn->prepare($sqlFetch); 
    $stmt->execute([':id' => $id]); 
    $row = $stmt->fetch() 
     $title = $row['title']; 
     $part1 = $row['part1']; 
     $part1 = $row['part2']; 
     $part1 = $row['part3']; 
?> 


    <body> 
     <h1 class="title"> 
      <?php echo $title; ?> 
     </h1> 
     <button>part1</button> 
     <button>part2</button> 
     <button>part3</button> 

     <div class="part1"> 
      <?php echo $part1; ?> 
     </div> 
     <div class="part2"> 
      <?php echo $part2; ?> 
     </div> 
     <div class="part3"> 
      <?php echo $part3; ?> 
     </div> 
    </body> 

Ich dachte über display: none; CSS kann aber nicht herausfinden, wie die Tasten auslösen, Gibt es eine Möglichkeit, PHP zu verwenden, das zu tun? Ich dachte auch an Radio buttons Aber ich denke, es ist nicht der optimale Weg.

+0

Verwenden Sie JS und onclick, um die Pressen zu finden, und ergreifen Sie entsprechende Maßnahmen (finden Sie den Inhalt und verstecken/zeigen Sie) – Zoe

+0

@LunarWatcher Das ist nicht mit PHP möglich? –

+0

Nein. PHP ist eine serverseitige Sprache, während JavaScript Client-seitig ist. Tastenbetätigungen sind Client-Seite. Siehe [dies für weitere Details zum Drücken von Tasten] (http://stackoverflow.com/a/20738409/6296561) – Zoe

Antwort

0

Ich denke, das wird Ihnen helfen: erstellen erste GetData.php

<?php 
$q = ($_GET['q']); 
include_once 'DbConnection.php'; //This is your connection 
$Query = "SELECT * FROM posts WHERE id='$q'"; 
$Result = mysqli_query($Link, $Query); 
while ($Rows = mysqli_fetch_assoc($Result)) 
{ 
$title = $Rows['title']; 
$part1 = $Rows['part1']; 
$part2 = $Rows['part2']; 
$part3 = $Rows['part3']; 
echo "<div class='part1'>$part1</div>"; 
echo "<div class='part2'>$part2</div>"; 
echo "<div class='part3'>$part3</div>"; 
} 
?> 

Jetzt index.php

<html> 
<head><title>Show the result</title> 
<script> 
function ShowResult(str) 
{ 
    if (str == "") { 
     return; 
    } 
    if (window.XMLHttpRequest) { 
     xmlhttp=new XMLHttpRequest(); 
    } else { 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange=function() { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
      document.getElementById("DisplayData").innerHTML=xmlhttp.responseText; 
     } 
    } 
    xmlhttp.open("GET","GetData.php?q="+str,true); 
    xmlhttp.send(); 
} 
</script> 
</head> 
<body> 
<div> 
<input type="text" id="txtSearch" onkeyup="ShowResult(this.value); onblur="ShowResult(this.value);"/> 
<div> 
<div id="DisplayData"></div> 
</body> 
</html> 

erstellen Wenn Sie es von Button-Ereignis tun wollen so Sie benötigen das Formular, das die ID überträgt und die Daten vom Server zurückgibt. Wenn Sie das auch brauchen, kommentieren oder inbox mich.

Verwandte Themen