从数据库中提取数据并以模态显示

时间:2014-07-07 18:49:58

标签: javascript php html twitter-bootstrap

我正在创建一个小型家族树网站。我在mysql数据库中有每个人的信息,我想在一个人点击任何人时弹出的模态中显示。

不,我已经为模态部分启动并运行了所有HTML和CSS。我也知道一些基本的PHP来编写一个相当简单的脚本来从我做的数据库中提取信息(粘贴在下面)。但是我现在有2个问题:

  1. 如何编写我的sql语句,以便php仅提取该特定人员的信息。我不为数据库中的每个人编写php脚本。
  2. 树上的每个人都写成:

    <a href="#" class="md-trigger" data-modal="modal-3">Tywin Lannister</a>
    

    我的sql语句如下:

    select * from family_table where name = Tywin Lannister;
    

    我想知道如何用硬编码替换名称,只为每个只显示其信息的名称制作1个PHP脚本。

    1. 我有一个基本的PHP脚本,它可以提取一个人的所有信息并以相当简单的方式显示它。如何在模式中显示完全相同的样式和字体等信息,而不是重定向到新的纯白页,并以简单的方式显示信息。我已经完成了这里给出的答案,但他们处理的是javascript和Ajax,我对
    2. 一无所知

      上面已经给出了我的名字html。我的模态HTML如下:

      <div class="md-modal md-effect-1" id="modal-3">
          <div class="md-content">
              <h3>Person Information</h3>
              <div>
                  <ul>
                      <li><strong>Name:</strong>Tywin Lannister.</li>
                      <li><strong>DOB:</strong> 28th July 1994.</li>
                      <li><strong>BirthPlace:</strong> Chicago.</li>
                      <li><strong>Occupation:</strong> Student.</li>
                      <li><strong>About:</strong> The Persons information will go here. Probably dynamic and deruved from a database.</li>
                      <li><strong>Contact:</strong> Contact information with FB, twitter and email address.</li>
                  </ul>
                  <button class="md-close">Close me!</button>
              </div>
          </div>
      </div>
      

      我的php脚本如下:

      <?php
      $dbhost = 'localhost';
      $dbuser = 'root';
      $dbpass = 'password';
      $conn = mysql_connect($dbhost, $dbuser, $dbpass);
      if(! $conn )
      {
        die('Could not connect: ' . mysql_error());
      }
      $sql = 'SELECT * from family_table';
      
      mysql_select_db('family');
      $retval = mysql_query( $sql, $conn );
      if(! $retval )
      {
        die('Could not get data: ' . mysql_error());
      }
      while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
      {
          echo "Name :{$row['Name']}  <br> ".
               "Nickname : {$row['Nickname']} <br> ".
               "Age : {$row['Age']} <br> ".
               "DOB : {$row['DOB']} <br> ".
               "About : {$row['About']} <br> ".
               "Contact : {$row['Contact Information']} <br> ".
               "--------------------------------<br>";
      } 
      echo "Fetched data successfully\n";
      mysql_close($conn);
      ?>
      

1 个答案:

答案 0 :(得分:1)

您有两种选择: 1.加载页面时,你需要加载人们的所有模态窗口,然后根据你的决定给他们一个。 这是简单的方法。 那是更难但更好的方法, 您可以使用ajax加载人员信息。 您可以通过创建一个接收人员ID或其他内容而不是回显其信息的php文件来实现这一点。 这是一个例子:

.ajax({
    url : "URL to post the data to",
    type: "POST",
    data : person_id,
    success: function(data)
    {
        //$('#id of a div inside the modal').html(data);
     }
});