Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 提取前打印数据_Php_Mysql - Fatal编程技术网

Php 提取前打印数据

Php 提取前打印数据,php,mysql,Php,Mysql,下面是我的代码 <?php if(isset($_POST['Generate'])) { $emp = mysql_real_escape_string($_POST['employee']); $startD = $_POST['from']; $endD = $_POST['to']; $search = "S

下面是我的代码

<?php
            if(isset($_POST['Generate']))
            {
                $emp = mysql_real_escape_string($_POST['employee']);
                $startD = $_POST['from'];
                $endD = $_POST['to'];
                $search = "SELECT leaveregister.*, users.first_name, users.last_name FROM leaveregister INNER JOIN users ON leaveregister.employee=users.id WHERE employee = '$emp' AND startDate >= '$startD' AND endDate <= '$endD'";
                $dosearch = mysql_query($search);
                if(mysql_num_rows($dosearch) > 0)
                {
                    echo '<span>Employee : <strong>'.$row['first_name'].'</strong></span>&nbsp;&nbsp;&nbsp;<span>From : <strong>'.$startD.'</strong></span>&nbsp;&nbsp;&nbsp;<span>To : <strong>'.$endD.'</strong></span><br><br><br>' ;
                    echo '<table border="1" class="table table-bordered">';
                    echo '<thead><th>Emp</th><th>Leave Type</th><th>Leave Duration</th><th>Start</th><th>End</th><th>Remarks</th></thead>';
                    echo '<tbody>';
                    while($row = mysql_fetch_array($dosearch))
                    {
                        echo '<tr><td>'.$row['employee'].'</td><td>'.$row['leaveType'].'</td><td>'.$row['leaveDays'].'</td><td>'.$row['startDate'].'</td><td>'.$row['endDate'].'</td><td>'.$row['remarks'].'</td></tr>';
                        }
                    echo '</tbody></table>';
                    }
                    else
                    {                       
                    echo "Not Found!!";
                    }
                }
        ?>
我知道我不能在那里使用
$row


那我怎么打印呢?

你可以像这样使用代码。。。您需要使用两个while循环,这样就可以使用
mysql\u data\u seek()
函数重置第一个循环并正常运行第二个循环…我对mysql的建议不适合尝试使用MySqli

if(isset($_POST['Generate']))
    {
        $emp = mysql_real_escape_string($_POST['employee']);
        $startD = $_POST['from'];
        $endD = $_POST['to'];
        $search = "SELECT leaveregister.*, users.first_name, users.last_name FROM leaveregister INNER JOIN users ON leaveregister.employee=users.id WHERE employee = '$emp' AND startDate >= '$startD' AND endDate <= '$endD'";
        $dosearch = mysql_query($search);
        if(mysql_num_rows($dosearch) > 0)
        {
            while($rows = mysql_fetch_assoc($dosearch)){
             $name = $rows['first_name'];
            }
            echo '<span>Employee : <strong>'.$name.'</strong></span>&nbsp;&nbsp;&nbsp;<span>From : <strong>'.$startD.'</strong></span>&nbsp;&nbsp;&nbsp;<span>To : <strong>'.$endD.'</strong></span><br><br><br>' ;
            echo '<table border="1" class="table table-bordered">';
            echo '<thead><th>Emp</th><th>Leave Type</th><th>Leave Duration</th><th>Start</th><th>End</th><th>Remarks</th></thead>';
            echo '<tbody>';
            mysql_data_seek($dosearch, 0);
            while($row = mysql_fetch_array($dosearch))
            {
                echo '<tr><td>'.$row['employee'].'</td><td>'.$row['leaveType'].'</td><td>'.$row['leaveDays'].'</td><td>'.$row['startDate'].'</td><td>'.$row['endDate'].'</td><td>'.$row['remarks'].'</td></tr>';
                }
            echo '</tbody></table>';
            }
            else
            {                       
            echo "Not Found!!";
            }
        }
if(isset($\u POST['Generate']))
{
$emp=mysql\u real\u escape\u字符串($\u POST['employee']);
$startD=$_POST['from'];
$endD=$_POST['to'];

$search="选择LeVerierister.*,UsR.FrestTyNo.U.S.ListTyNeNe:从LeeReavigister.Enger-Users.ID中的LeaErristerEnter用户,其中雇员=“$EMP”和StaseDea> =“$STARDD”,并且结束日期<代码> MySQL<构造函数是,并且是直截了当的。请考虑切换到“或者”,以确保您还用于防止SQL注入:听起来你在寻找表中的一个或两个单独的查询。虽然我不能真正推荐如何使用MySQL,因为它会让你暴露严重的安全漏洞,因此这样做是不道德的。相反,我建议用MySQLi或PDO重新编写代码。这只需要一秒钟,而且会真正帮助你从长远来看:)我已经试过了。
$name
打印成功。但是第二个
不起作用时什么也不打印。你能解释一下如何使用
mysql\u data\u seek
?我添加了那段代码。你也尝试过这一行之前的
mysql\u data\u seek($dosearch,0)
,而($row=mysql\u fetch\u array($dosearch))
。再次检查变量名
$row
是否与两个变量的名称不同,谢谢Nawin。已解决。
if(isset($_POST['Generate']))
    {
        $emp = mysql_real_escape_string($_POST['employee']);
        $startD = $_POST['from'];
        $endD = $_POST['to'];
        $search = "SELECT leaveregister.*, users.first_name, users.last_name FROM leaveregister INNER JOIN users ON leaveregister.employee=users.id WHERE employee = '$emp' AND startDate >= '$startD' AND endDate <= '$endD'";
        $dosearch = mysql_query($search);
        if(mysql_num_rows($dosearch) > 0)
        {
            while($rows = mysql_fetch_assoc($dosearch)){
             $name = $rows['first_name'];
            }
            echo '<span>Employee : <strong>'.$name.'</strong></span>&nbsp;&nbsp;&nbsp;<span>From : <strong>'.$startD.'</strong></span>&nbsp;&nbsp;&nbsp;<span>To : <strong>'.$endD.'</strong></span><br><br><br>' ;
            echo '<table border="1" class="table table-bordered">';
            echo '<thead><th>Emp</th><th>Leave Type</th><th>Leave Duration</th><th>Start</th><th>End</th><th>Remarks</th></thead>';
            echo '<tbody>';
            mysql_data_seek($dosearch, 0);
            while($row = mysql_fetch_array($dosearch))
            {
                echo '<tr><td>'.$row['employee'].'</td><td>'.$row['leaveType'].'</td><td>'.$row['leaveDays'].'</td><td>'.$row['startDate'].'</td><td>'.$row['endDate'].'</td><td>'.$row['remarks'].'</td></tr>';
                }
            echo '</tbody></table>';
            }
            else
            {                       
            echo "Not Found!!";
            }
        }