0

我正在尝试从我的数据库中提取一些信息并将其放入模式中。我去了基金会网站并试图从他们的文档部分弄清楚。我不太明白。所以我的网站有一个部分允许用户请求删除他们上传的歌曲。现在,如果他们单击 X,应该会弹出一个模式并要求确认。

    <div class="row">
      <div class="large-8 column musicup">
        <p> <?php echo "No music uploaded..."; ?> </p>
      </div>
    </div>
    <?php
        }else{
            ?>
    <h2 style="margin-top:1em;">Music uploaded</h2>
    <hr style="opacity:.4;">
    <?php
            while($row_a = mysql_fetch_array($res))
        { 
   ?>
    <div class="row">
      <div class="large-4 column musicup">
        <p><?php echo $row_a['title']; ?></p>
      </div>
      <div class="large-3 column musicup"><span data-tooltip class="has-tip tip-top" title="<?php echo $row_a['reason']; ?>">
        <div class="button <?php echo $row_a['status'];?>"><?php echo $row_a['status'];?></div>
        </span></div>
      <div class="large-3 column musicup_date">
        <p><?php echo date('F j Y',strtotime($row_a['uploaded'])); ?> </p>
      </div>
      <div class="large-2 column musicup">
        <p><a href="song_delete.php?id=<?php echo $row_a['song_id']; ?>" data-reveal-id="deleteMusic" data-reveal-ajax="true" style="font-weight:bold">X</a></p>
      </div>
    </div>
    <?php 
            }
        }
    } 
    ?>
    </div>

所以现在我在一个名为 song_delete.php 的新页面上拥有了模式和所有数据库查询。

这是代码:

<?php 
include_once "functions.php"; 

$query = sprintf("SELECT * FROM songs WHERE user_id = %d AND song_id = %d",$_SESSION['user_id'], $_GET['id']);
$res = mysql_query($query) or die('Error: '.mysql_error ());
$row_a = mysql_fetch_assoc($res);
$totalRows_a = mysql_num_rows($res);
?>
<div id="deleteMusic" class="reveal-modal medium">
<h2>Request to delete<span style="color:#F7D745;"> <?php echo $row_a['title']; ?></h2>
<p class="lead">Are you sure you want to delete this song? Please allow 2 full business weeks for deletion.</p>
<span style="float:right;"><a href="#" class="button close-reveal-modal cancelbtn">Cancel</a>    
<a href="#" class="button submitbtn">Submit</a>  </span>

<a class="close-reveal-modal">&#215;</a>
</div>

感谢您提前提供任何帮助。我很感激。

请不要告诉我关于 mysql_query 以及我应该如何使用 PDO 或 MySQLi 和 OOP 我知道这一点,但这个网站目前没有用所有这些编码..

4

1 回答 1

0

好的第一件事 - 在这些情况下,最好查看编译源(HTML 源代码)。你能做这个吗?从您提供的代码来看,它看起来不错,但没有 css/js 链接并显示显示代码的位置,无法判断。


基金会揭示如何运作

1 - 模态代码放在结尾之前</body>

2 - 它应该看起来像这样:

<div id="myModal" class="reveal-modal">
  <h2>Awesome. I have it.</h2>
  <p class="lead">Your couch.  It is mine.</p>
  <p>Im a cool paragraph that lives inside of an even cooler modal. Wins</p>
  <a class="close-reveal-modal">&#215;</a>
</div>

3 - 根据您想要的大小,您可以使用额外的类.small(对于 30% 浏览器宽度的显示大小。或其中一个(直接取自 Foundation Docs)

  • .medium:将宽度设置为 40%。
  • .large:将宽度设置为 60%。
  • .xlarge:将宽度设置为 70%。
  • .expand:将宽度设置为 95%。

4 - 此时您可以data-reveal-id="<id of modal here>"通过基础附加或调用模态。此时,您的模式将在所有 Foundation 4 支持的浏览器中弹出但是,您需要 javascript 文件来关闭它

5 - 现在确保你有必要的脚本

<!-- If running version with default scripts -->
<script src="foundation.js"></script>
<script src="foundation.reveal.js"></script>    

6 - 然后调用$(document).foundation(),然后通过神奇的 jQuery javascript 库它应该按预期工作:-)。

附加功能

  • 如果您愿意,您可以添加额外的属性来显示(所有属性的列表 ):

    $(document).foundation('reveal',<options here>,<callback>)

最后,您可能希望取消 ajax 标记(您不会异步调用任何内容 - 它都是在运行时通过您的服务器编译的

于 2013-08-28T13:21:34.733 回答