2010-10-05 169 views
1

我刚刚得到帮助,这代码的jQuery的部分(感谢大卫·托马斯)需要帮助我做

这是我当前的代码到目前为止地址簿的PHP/SQL部分,我想知道我还需要什么,以便返回结果。

  <div class="toolbar"> 
       <a href="javascript:void(0);" onclick='$("#addC<?=$_SESSION['user_id'];?>").toggle();'><p id="addC20" style="float: left"></p></a> 
       <p style="float: right; position: relative; top: 0px; left: -10px;">Contact Manager</p> 
      </div><!-- end toolbar --> 
      <script> 
       $(document).ready(function(){ 
        $('#names a.names').click(function(){ 
         var thisId = $(this).attr('id'); 
         $('#detailsPane').load('dependencies/ajax/contacts.ajax.php #' + thisId); 
         return false; 
        }) 
       }); 
      </script> 
      <div id="names"> 
       <h3>Contacts</h3> 
       <ul id="post"> 
       <? while($row = mysql_fetch_array($contacts)) ?> 
        <li><a class="names" id="<?=$row['id'];?>"><?=$row['first_name'];?>, <?=$row['last_name'];?></a></li> 
       </ul><!-- end post --> 

      </div><!-- end names --> 

      <div id="detailsPane"> 

      </div> 
      <div class="cushion"></div> 

由此看来,名称或联系人在我的while循环从我的数据库中抽取,但​​我认为什么引起我的逻辑和困惑是如何ajax.php会再从“一个”锚​​抢ID并将其传递到我的新输出中。我需要什么代码来格式化我的detailsPane中的数据?

回答

0

我认为没有必要做​​与哈希URL部分,而不是一个普通的旧GET参数:

$('#detailsPane').load('dependencies/ajax/contacts.ajax.php?id=' + thisId); 

然后在contacts.ajax.php你会得到它是这样:

$id = $_GET['id'] ; 

显然你需要清理和验证ID,但这不在这个问题的范围内。

然后,基于该id,contacts.ajax.php应该只是打印出你想在#detailsPane中显示的任何输出,并且​​会照顾它。

+0

HURRAY FOR XSS !! – 2010-10-05 22:09:07

+0

雅,我有我的php消毒$ _GET,但我很难过,现在如何将数据从php到detailsPane div。在地址簿中,用户单击窗格1中的名称并将信息加载到窗格2中。 – Eli 2010-10-05 22:31:06

+0

@hopeseekr XSS,如何?这取决于contacts.ajax.php来清理和验证用户输入,并采取相应的行动。如果不符合预期,它可能会打印出一条信息错误,并将其放入#detailsPane中,就是这样。 – Fanis 2010-10-05 22:44:01