2016-04-06 1 views
0

Ich würde gerne wissen, wie eine dynamische Tabelle basierend auf SQL-Rückgabewert mit getElementById verstecken.Ausblenden einer dynamischen Tabelle basierend auf sql Rückgabewert mit getElementById-Javascript/PHP

Ich kann derzeit Daten in einer dynamischen Tabelle einfügen und anzeigen. Wenn es kein Ergebnis gibt, werden die Daten nicht angezeigt (was gut funktioniert), und wenn ein Ergebnis vorliegt, werden die Daten angezeigt (was auch gut funktioniert). Aber ich muss die Tabelle immer noch ausblenden, wenn kein Ergebnis gefunden wird, da in der Löschspalte eine Schaltfläche zum Löschen vorhanden ist, die immer erscheint, obwohl keine Daten vorhanden sind.

So würde ich lieber die gesamte Tabelle verschwinden, wenn kein Ergebnis von der Abfrage zurückgegeben wird und umgekehrt, um es sauber zu machen. Ich habe versucht, alle Arten von Möglichkeiten, mit wie:

mysqli_num_rows($result)==0, if($result), if($_SESSION['idadv']==''), if(empty($_SESSION['idadv']))

ich mein Skript mehrmals geändert haben und immer noch habe Probleme diese für mehrere Tage zu lösen.

Beispiele

function hide()//example 
    { 
     if(//result return 0 proceed with below) 
     document.getElementById("tabledata").style.display="inline"; 
     if(//result true proceed with below) 
     document.getElementById("tabledata").style.display="none";} 



    <?php 

    <div id="tabledata" style="display: inline;"> 
    <?php 
    if(!$result){ 
     die('bro_you_have_error:'.mysqli_connect_error()); 
    } 

if($result){ 
    echo "<table id='tableone'>"; 
    echo "<tr><td>hello</td></tr> 
    echo"</table> 
} 

     ?> 
    </div> 

mehr Code unten

<?php 
if(mysqli_num_rows($result) > 0){ 
echo "<tr><td></tr></td>"; 
echo "<table cellpadding=10 border=0 id='secondtable'>"; 
echo "<tr><td bgcolor=#698C00 class='white'>"."Membership"."</td>". 
"<td bgcolor=#698C00 class='white'>"."Title"."</td>". 
"<td bgcolor=#698C00 class='white'>"."Location"."</td>". 
"<td bgcolor=#698C00 class='white'>"."Phone"."</td>". 
"<td bgcolor=#698C00 class='white'>"."Picture"."</td>". 
"<td bgcolor=#698C00 class='white'>"."Date Reg"."</td>". 
"<td bgcolor=#698C00 class='white'>"."Delete?"."</td></tr>"; 
while($row = $result->fetch_array(MYSQLI_ASSOC)){ 
$showdateua=$row['dateua']; 
$showdateua=date('d-m-Y',strtotime($showdateua)); 
//$showdateua=$row['dateua']; 
//$showdateua=date('d.m.Y"'); 
//$row['dateua']=date("d.m.Y"); 
echo "<tr><td bgcolor=#DCDCDC>".$_SESSION['membership']=$row['membership']. 
"</td><td bgcolor=#DCDCDC>".$_SESSION['title']=$row['title']. 
"</td><td bgcolor=#DCDCDC>".$_SESSION['location']=$row['location']. 
"</td><td bgcolor=#DCDCDC>".$_SESSION['adphone']=$row['adphone']. 
"</td><td bgcolor=#DCDCDC>". 
'<img src="'.$_SESSION['image1']=$row['image1'].'"alt="No image"style="width:100px;height:100px;"/>'. 
"</td><td bgcolor=#DCDCDC>".$_SESSION['dateua']=$showdateua. 
"</td><td bgcolor=#DCDCDC>"."<a href=\"rundelup.php?idadv=".$row['idadv']."\">".'<input type="submit" name="Delete" value="Delete" id="Delete">'."</a></td></tr>"; 
/*"</td><td bgcolor=#DCDCDC>"."<a href='kransjp.php?idadv=".$row['idadv']."'>"."Delete"."</a></td></tr>";*/ 
//echo $_SESSION['idadv']=$row['idadv']; 
} 
echo "</table>"; 
} 
else 
{echo "no records"; 
} 
//} 
?> 

Antwort

0

Sie die Tabelle Tag vor der SQL-Ergebnis nicht schreiben.

etwas tun:

<?php 
if(mysqli_num_rows($result) > 0){ 
    echo "<table id='tableone'>"; 

    // add rows/columns dynamically here 

    echo "</table>"; 
}?> 

Daher Tabelle nicht erstellt werden, wenn 0 Zeilen dort aus SQL-Abfrage ist. Wenn Sie eine Tabelle, selbst dann, wenn es 0 Reihe von SQL-Abfrage (versteckte Tabelle) ist, als auf den obigen Code sonst hinzu:

else{ 
    echo "<table id='tableone' style='display:none'>"; 
    echo "<tr><td>hello</td></tr> 
    echo "</table> 
} 
+0

tqs. Ich werde es versuchen .. werde wieder zu Ihnen so schnell wie möglich .. – MikeJ

+0

Wenn Sie dies durch Javascript geschehen wollen, dann fügen Sie ein Skript-Tag irgendwo nach der Tabelle erstellt und rufen Sie Ihre 'hide()' -Funktion aus Dort.

+0

Ich probierte..aber es knallt einfach auf..der Löschtaste und der Tabelle immer noch dort.ich kann nicht herausfinden, warum .. :-( – MikeJ

Verwandte Themen