2016-04-08 17 views
0

Aşağıdaki tabloda, bir sayfa yüklendiğinde (bu iyi çalışıyor) bir veritabanından bir tabloyu içeren bir tabloyu dolduracağım. Daha sonra bir sanatçı arandığında, eşleşen sanatçıları göstermeli ya da hiç değilse "Sanatçı bulunamadı!" (Bu iyi çalışıyor). Sorun, yeni tabloyu veya mesajı orijinal tablonun yanına koymasıdır. Bu yüzden, PHP tablonun yeni tablosundan veya mesajından önce orijinal tabloyu kaldırmak için bazı JavaScript ekledim, işte bu işe yaramaz.HTML Tablosu'nu JavaScript ile Kaldırma

<table id="artistTable"> 

<!-- PHP to display default table of all artists --> 

<?php 
include 'connection.php'; 

$stmt = $conn->prepare("SELECT * FROM artist"); 
if(!$stmt) 
    { 
     echo "Error creating SQL statement"; 
     return 1; 
    } 

$stmt->execute(); 

$stmt->bind_result($artID, $artName); 

echo "<tr>\n 
     <th>Artist ID:</th>\n 
     <th>Artist Name:</th>\n 
     <th>Options:</th>\n 
     </tr>\n"; 

while($stmt->fetch()) 
{ 
    echo "<tr>\n 
      <td>" . htmlspecialchars($artID) . "</td>\n 
      <td>" . htmlspecialchars($artName) . "</td>\n 
      <td><a href=\"\">Edit</a> - <a href=\"\">Albums</a></td>\n 
      </tr>\n"; 
} 
?> 

<!-- PHP to display table after search --> 
<?php 
include 'connection.php'; 

if(isset($_GET["artists"])) 
{ 
    /* JavaScript to remove original table */ 
    echo "<script> 
      var table = Document.getElementByID(\"artistTable\"); 
      table.parentNode.removeChild; 
      </script>"; 

    $artist = htmlspecialchars($_GET["artists"]); 

    /* Add wildcards to $artist */ 
    $artist = "%$artist%"; 

    $stmt = $conn->prepare("SELECT * FROM artist WHERE (artName LIKE ?)"); 
    if(!$stmt) 
    { 
     echo "Error creating SQL statement"; 
     return 1; 
    } 

    $stmt->bind_param('s', $artist); 
    $stmt->execute(); 

    $stmt->bind_result($artID, $artName); 

    if($stmt->fetch()) 
    { 
     echo "<tr>\n 
       <th>Artist ID:</th>\n 
       <th>Artist Name:</th>\n 
       <th>Options:</th>\n 
       </tr>\n"; 

     while($stmt->fetch()) 
     { 
      echo "<tr>\n 
        <td>" . htmlspecialchars($artID) . "</td>\n 
        <td>" . htmlspecialchars($artName) . "</td>\n 
        <td><a href=\"\">Edit</a> - <a href=\"\">Albums</a></td>\n 
        </tr>\n"; 
     } 
    } 
    else 
     echo "<p>No artists were found!</p>\n"; 
} 
?> 

</table> 
+3

js için bir neden göremiyorum, bir sayfa yeniden yükleme yapmak, sadece tabloyu gösterme (php aracılığıyla) –

+2

Sadece varsayılan tablonuzu 'else {}' 'iniz (if (isset ($ _ GET [" sanatçıları) "]))' – Sean

+0

@Dagon Ah teşekkürler Bir arama olduğunda sayfanın yeniden yüklendiğini fark etmedim. –

cevap

0

bu $ ('# artistTable tbody') deneyin kaldırmak().; daha sonra $ ('# artistTable tbody'). Html ('yeni tablo içeriği');

İlgili konular