2016-07-13 13 views
0

は、データベースからテーブルを取り込むphpコードを持っています。 Lエコーテーブルからすべてのデータテーブルにeditlinkテーブル内のすべてのtrにリンクを表示する方法

<script> 
function show() 
{ 
    document.getElementById("editlink").style.display = "inline"; 
} 
function hide() 
{ 
    document.getElementById("editlink").style.display = "none"; 
} 
</script> 

に適用され、このコードを使用して

foreach ($m as $value=>$key){ 

    echo "<tr><td onmouseover = 'show()' onmouseout='hide()' >" . $key['name'] . "<a href='add.php' id='editlink'> Edit</a>" . "</td><td>" . $key['office_name'] . "</td><td>" . $key['description'] . "</td><td>" . $key['image'] . "</td></tr>"; 
} 

ジャバスクリプトが編集リンクでのみ最初の行の表示されていることを除いて正常に動作しテーブル。どのようにlは

+0

どのように 'edit'クリックイベントを処理しますか? –

+0

全行にリンクしますか? –

+0

ページが読み込まれた後に編集リンクを操作するJSがありますか?すべての編集リンクが同じ 'id = 'editlink''を持ち、' ​​id'がページ上で一意であると想定されるので、JSが正しく動作しないので尋ねます – RiggsFolly

答えて

-1

すべてのrow.thanks内のリンクを表示しない私は、これが正常に動作することを考える:

<?php 
foreach ($m as $key => $value) { ?> 
<tr> 
<td onmouseover = 'show()' onmouseout='hide()'> <?php $key['name'] ?> <a href='add.php' id='editlink'> Edit</a> </td> 
<td> <?php $key['office_name'] ?> </td> 
<td> <?php $key['description'] ?> </td> 
<td> <?php $key['image'] ?> </td> 
</tr> 
<?php } ?> 
+0

私は恐れています___ DV)___ – RiggsFolly

+0

はい、私は知っていますが、時には愚かなコードの変更が起こることがあります。D –

+0

@HamzaTorjmenあなたの回答と、結果を達成しなかった前のコードとの間に差異はありません。 –

0

あなたが行を区別し、このような何かにあなたのPHPを変更する必要があります

<?php 

    $i = 1; 

    foreach ($m as $value=>$key) { 

     echo "<tr onmouseover = 'show(".$i.")' onmouseout='hide(".$i.")'><td>" . $key['name'] . "<a href='add.php' id='editlink".$i."'> Edit</a>" . "</td><td>" . $key['office_name'] . "</td><td>" . $key['description'] . "</td><td>" . $key['image'] . "</td></tr>"; 

     $i++; 
    } 

JavaScriptは次のようになります。

<script> 
    function show(i) { 
     document.getElementById("editlink"+i).style.display = "inline"; 
    } 

    function hide(i) { 
     document.getElementById("editlink"+i).style.display = "none"; 
    } 
    </script> 
+0

あなたの答えはうまくいかない。編集リンクはtrごとに生成されますが、javascript関数は機能しません。 –

+0

私は自分の答えを編集しました。ここでJSFiddleの作業バージョンを確認できますhttps://jsfiddle.net/azpso4wj/8/ – Adrian

0

lこれを行う方法が見つかりました。 lは説明します編集link..codeを挿入するために、リストthroughtループのすべてのTRのノードリストを返すためにdocument.getELementsByClassNameを使用し、より良い

        <?php 
$m = edit_keymember(); 

if(!(is_array($m))){ 

    echo "not array"; 
} 

foreach ($m as $value=>$key){ 

    echo "<tr><td onmouseover = 'show()' onmouseout='hide()' >" . $key['name'] . "<a href='add.php' class='editlink' > Edit</a>" . "</td><td>" . $key['office_name'] . "</td><td>" . $key['description'] . "</td><td>" . $key['image'] . "</td></tr>"; 

} 

?> 

Javascript 

<script> 
    function show() { 
     var i; 
     var len = document.getElementsByClassName("editlink"); 
     for (i = 0 ; i <= len.length ; i++){ 

     len[i].style.display = "inline"; 

     } 
} 
function hide(){ 
    var i; 
     var len = document.getElementsByClassName("editlink"); 
     for (i = 0 ; i <= len.length ; i++){ 

     len[i].style.display = "none"; 

     } 
} 
    </script> 

は、すべての提案のためのgratefull初心者開発者リットル午前午前よりすぐに要求されます..lol..thanks

関連する問題