PHP中的echo问题

时间:2011-06-09 03:20:45

标签: php html while-loop echo

我不知道如何重新发布问题所以我只想在这里链接我的旧帖子 some item won't echo after putting some condition in php

虽然有些问题在@Shinkou得到了解决,但我的程序中仍然存在错误。我试图找出导致这个问题的原因,但我发现解决它们没有运气。


现在让我告诉你我的程序是做什么的。我有两个不同功能的管理员。 admin 上传文件,并注册新的公司和员工详细信息。他还负责删除未批准或未决的文件。(这里没有问题^ _ ^)第二个是 superadmin 。其目的是查看上传的文件并批准或拒绝上传的文件。 (如您所见,其所有关于管理员上传的文件)其他用户是公司帐户。此帐户是在 admin 注册新公司时创建的。其目的仅用于查看哪个文件已经被 superadmin 批准或拒绝。

我的问题全在 superadmin 和其他用户。但是让我们谈谈 superadmin more.my superadmin 包含3个菜单栏(i使用的链接图像在这里工作) - > HOME(查看所有接受/拒绝的文件),NEW UPLOAD(查看和接受/拒绝所有待处理文件 )和LOGOUT NEWUPLOAD和LOGOUT 正在运行,但我遇到家庭问题,它影响其他用户帐户。最后,代码格式是这样的。我告诉你:


*EmployeeID*     *EmployeeName*     *Title*     *FileDate*     *Status*           

  20132248           Danica          file8     Jan 08, 2001     Approved          
  20896647           Jan             file7     Dec 12, 2000     NotApproved     
  20864125           Keisha          file2     Feb 01, 2000     Approved   
  16521253           Riorei          file10    Mar 20, 2003     NotApproved
                                     file3     Jul 14, 2002     Approved

//if you could notice employee riorei,it contains 2 files,the employeename and id will be displayed only once. this one is also already sorted as you could notice i wish.


让我列出我遇到的所有问题以及我在追踪问题时发现的事情:

  1. 回声问题 - >示例如果riorei有2个上传文件, file10和file3 ,如果要接受/拒绝newupload中的第一个file10 / file3,在我的输出中,名称和id没有出现(这就是我做的:我试图回应我使用的2个变量($ empid和$ file_employee用于id和$ empname以及$ file_ename用于名称)$ empname和$ empid是最初初始化为“”(我将在稍后向您显示代码),旁边是emmployeeid(我只是先尝试​​过id)这是我发现的结果==>应该包含空值的$ empid已经包含了employeeID at首先,它应该包含在下一个循环之后。)如果你要接受下一个文件。确定>。<但我不能就这样离开吗?
  2. 我注意到的另一件事是,有一些上传/注册的文件在第一次循环时回显了名称和id.its,如某些上传文件正确回显而有些没有。
  3. LIMIT->我把限制放在我的表中,我的意思是,每页(是的,我也创建页码)只输出5个文件。 但是在我的页面1上它只包含3个文件,然后下一页包含1个文件等等。我甚至还经历过类似下一页的内容,没有上传文件但是如果要按下再来一次,Tadah!文件就在那里。(这就是我所做的:我把一个计数器检查它在我的while子句中循环了多少次。对于我的震惊。它说5!我不知道这是怎么回事。)

  4. 据我注意,这是我发现的唯一错误。所以,让我告诉你我使用的代码:)


    <?php       
                                $search = '%';
                                $fgmembersite->DBLogin();
                                $limit = 5;
                                if(isset($_GET['offset'])) {
                                    $offset = mysql_real_escape_string($_GET['offset']);
                                } else {
                                    $offset = 0;
                                }
    
                                //for namelist a-z
                                $listname = '%';
                                If (isset($_GET['namelist']))
                                {                                   
                                    $listname = $_GET['namelist'];
                                }
    
                                //for search file
                                if(isset($_POST['searchfile']))
                                {
                                    $search = $_POST['searchfile'];
                                }                               
                                else if(isset($_GET['searchfile']))
                                {
                                    $search = $_GET['searchfile'];
                                }
    
                                if($_SESSION[$fgmembersite->GetLoginSessionVar()] == 'sa' OR $_SESSION[$fgmembersite->GetLoginSessionVar()] == 'admin')
                                {                                   
                                        //$sql="select * from gmdc_employee where employee_name like '%$search%' AND employee_name like '$listname%' ";                                             
                                                $sql="SELECT `e`.* FROM `gmdc_employee` `e` JOIN `gmdc_user` `u` ON ( `u`.`company_id` = `e`.`company_id` ) WHERE (`u`.`company_name` LIKE '%$search%' OR `e`.`employee_name` LIKE '%$search%' OR `e`.`employee_id` LIKE '%$search%') AND `e`.`employee_name` LIKE '$listname%' ";
                                }
                                else
                                {                                   
                                    $sql = "select `e`.* from `gmdc_user` `u`, `gmdc_employee` `e` where `u`.`username` = '".$_SESSION[$fgmembersite->GetLoginSessionVar()]."' and `u`.`company_id` = `e`.`company_id` AND `e`.`employee_name` like '$listname%' AND `e`.`employee_name` like '%$search%'";                                                                                                                                 
                                }
    
                                $query = mysql_query("$sql ORDER BY `e`.`employee_name`, `e`.`confirmation` DESC ,`e`.`file_id` DESC,`e`.`file_date` DESC  LIMIT $offset,$limit") or die ( mysql_error () );
                                $result = mysql_query($sql) or die (mysql_error());
                                $total = mysql_num_rows($result);
                                $emp_id = '';     //This will be use to remove employee_id if its already echoed.
                                $emp_name = '';   //This will be use to remove employee_name if its already echoed.
                                $count = 0;
    
                                if(!$result || mysql_num_rows($result) <= 0)
                                {
                                    $fgmembersite->HandleError("No file found.");
                                    return false;
                                }
                                while ($row = mysql_fetch_assoc($query))
                                {
                                    $file_id = $row['file_id'];
                                    $file_desc = $row['file_description'];
                                    $file_date = $row['file_date'];
                                    $file_name = $row['file_name'];
                                    $file_accs = $row['folder_access'];
                                    $file_employee  = $row['employee_id'];
                                    $file_confir = $row['confirmation'];
                                    $file_ename = ucwords($row['employee_name']);
    
                                    //$emp_id=$emp_id==$row['employee_id']?"":$row['employee_id'];
                                    //$emp_name=$emp_name==$row['employee_name']?"":$row['employee_name'];
    
                                    $info = pathinfo($file_name);
                                    $file_ext = $info['extension'];                                 
    
                                    $count = $count + 1;
                                    echo $count;
    
                                if($_SESSION[$fgmembersite->GetLoginSessionVar()] == 'sa')
                                {
    
                                    echo '<tr>
                                        <td>
                                            &nbsp; 
                                        </td>
                                        </tr>
                                        <tr class="subone">
                                        <td class="sub" width="100">
                                            ';
                                    if ($file_employee == $emp_id)
                                    {
                                        # do not display the employee's ID and name
    
                                    }
                                    else
                                    {
                                        # display the employee's ID and name
                                        echo''.$file_employee.'';
                                    }
                                            echo'<br />
                                            &nbsp;
                                        </td>';
                                        if($_SESSION[$fgmembersite->GetLoginSessionVar()] == 'sa')
                                        {
    
                                        ?><td class="sub" width="100">
                                            <a href="" onclick = javascript:newPopup('addfile.php?emp=<?php echo $file_employee ?>');>
                                            <?php if ($file_ename == $emp_name)
                                                {
                                                    # do not display the employee's ID and name
    
                                                }
                                                else
                                                {
                                                    # display the employee's ID and name
                                                    echo''.$file_ename.'';
                                                }?></a>
                                            <br />
                                            &nbsp;
                                        </td><?php
                                        }
                                        else
                                            {
                                                echo '<td class="sub" width="182">
                                                ';
                                    if ($file_ename == $emp_name)
                                    {
                                        # do not display the employee's ID and name
    
                                    }
                                    else
                                    {
                                        # display the employee's ID and name
                                        echo''.$file_ename.'';
                                    }
                                            echo'
                                                <br />
                                                &nbsp;
                                                </td>';
                                            }
    
    
                                        echo'<td  class="sub" width="218">
                                            <a href="'.$file_accs.$file_name.'" target="_blank" style="text-decoration: underline;">'.$file_desc.'</a>
                                            <br />
                                            &nbsp;
                                        </td>
                                        <td  class="sub" width="100">
                                            '.date('M d, Y',mktime(0,0,0,substr($file_date,5,2),substr($file_date,8,2),substr($file_date,0,4))).'
                                            <br />
                                            &nbsp;
                                        </td>
                                        <td  class="sub" width="100">   
                                                    '.$file_confir.'                
                                        <br />
                                                &nbsp;
                                                </td>';
                                        if($_SESSION[$fgmembersite->GetLoginSessionVar()] == 'sa')
                                        {
                                            if($file_confir == 'Pending' OR $file_confir == 'NotApproved')
                                            {                                               
                                                if(isset($_GET['id']))
                                                {
                                                    $fgmembersite->Delete_Db($_GET['id']);
                                                }
                                                    echo '<td  class="sub" width="100"> 
                                                    <a href="index.php?id='.$file_id.'">Delete</a>
                                                    <br />
                                                    &nbsp;
                                                    </td>';
                                            }
                                        }
    
                                        }
                                        else 
    //THIS IS THE CODES OF MY SUPER ADMIN AND OTHER ACCOUNTS
    if($_SESSION[$fgmembersite->GetLoginSessionVar()] != 'sa' && ($file_confir == 'Approved' || $file_confir == 'NotApproved'))
                                        {
                                            echo '<tr>
                                                    <td>
                                                        &nbsp; 
                                                    </td>
                                            </tr>
    
                                            <tr class="subone">
                                                <td class="sub" width="100">';
                                                //  echo $emp_id.'-'.$file_employee;
                                                    if ($file_employee == $emp_id)
                                                    {
                                                        # do not display the employee's ID and name
                                                    }
                                                    else
                                                    {
                                                        # display the employee's ID and name
                                                        echo''.$file_employee.'';
                                                    }
                                                        echo'
                                                        <br />
                                                        &nbsp;
                                                </td>';
    
                                                echo '<td class="sub" width="182">';
                                                    if ($file_ename == $emp_name)
                                                    {
                                                        # do not display the employee's ID and name
    
                                                    }
                                                    else
                                                    {
                                                        # display the employee's ID and name
                                                        echo''.$file_ename.'';
                                                    }
                                                            echo'
                                                                <br />
                                                                &nbsp;
                                                                </td>';
    
                                                echo'<td  class="sub" width="218">
                                                    <a href="'.$file_accs.$file_name.'" target="_blank" style="text-decoration: underline;">'.$file_desc.'</a>
                                                    <br />
                                                    &nbsp;
                                                </td>
    
                                                <td  class="sub" width="100">
                                                    '.date('M d, Y',mktime(0,0,0,substr($file_date,5,2),substr($file_date,8,2),substr($file_date,0,4))).'
                                                    <br />
                                                    &nbsp;
                                                </td>
    
                                                <td  class="sub" width="100">   
                                                    '.$file_confir.'                
                                                    <br />
                                                    &nbsp;
                                                </td>';
    
                                        }
    
                                        $emp_id = $file_employee;
                                        $emp_name = $file_ename;
                                    }?>
    
                                <tr>
    

    如果它太长了,我只是有些人要求或询问我使用的完整代码,尽管这只是一部分。我希望有人可以帮助我。 :(

1 个答案:

答案 0 :(得分:1)

我终于发现了我的问题出了什么问题。虽然我的代码变得越来越长。

因此,这里是我做什么,我增加了新的查询我的条件“待定”,“notapproved”和“批准”了同样的查询其实,我只是说e。{{1} } LIKE '待定' 在newupload页confirmatione LIKE '接受' OR confirmatione LIKE 'NotAccepted'< / strong>在主页上。 (请注意,我用的查询放在了一起,创造了$ SQL2,$ QUERY2,$共2和$结果2,因为我有页码1码,我已经固定的为好)

与此同时,代替具有 WHILE 第一然后如果声明,我已经扭转它。已经做了两次。

您可以签入我的代码并申请:)

感谢@stefgosselin不把我下来,一个在someways谁“ONLY”帮助了我。我现在只是尝试过,我现在需要做的就是纠正我的订单。谢谢。希望这可以帮助其他人解决同样的问题。