php - 从多个表循环信息的问题

标签 php mysql loops

我正在创建一个页面,我可以在其中列出我所有的工作,包括当前和过去的工作,以及每个工作的各种加薪/晋升。我很想列出基本的工作信息,然后在单独的 DIV 中列出所有促销信息。当我循环它们时,我的问题就出现了。对于每份工作,我都希望有多个工资列表,但实际情况是,如果我有不止一次加薪,它将列出每次加薪的工作信息。我如何让它按照我想要的方式工作?

以下是每个数据库的列:

工作信息 编号 |位置名称 |地址 |电话

职位提升 编号 |职位编号 |日期 |工资 |位置

还有我的代码:

<div id="CurrentJobs">
    <?php

    $CurrentJobsResults = mysql_query("
        SELECT JobInfo.*, JobPromotions.*
        FROM JobInfo
        LEFT JOIN JobPromotions
        ON JobInfo.ID=JobPromotions.JobID
        WHERE JobInfo.DateEnd = '0000-00-00'
        ");

    while ($row = mysql_fetch_array($CurrentJobsResults)) {
        echo "
            <div class='JobItem'>
                <div class='JobItem_Gen'>
                    <b>{$row['LocName']}</b>
                    <p>{$row['Street']}</p>
                    <p>{$row['City']}</p>
                    <p>{$row['State']}</p>
                    <p>{$row['Zip']}</p>
                    <p>{$row['Phone']}</p>
                </div>
                <div class='JobItem_Prom'>
                    <p>{$row['Date']}</p>
                    <p>{$row['Position']}</p>
                    <p>{$row['Wage']}</p>
                </div>
            </div>
        ";
    }

    ?>
</div>

任何帮助将不胜感激,因为这越来越烦人了!

谢谢!

最佳答案

我能想到的最简单的方法是对数据库进行两次调用,这样您就可以在两个单独的数组中获得工作信息和促销信息。

while($job_rows = mysql_fetch_array($CurrentJobsResults_select))
{ $jobs[] = $job_rows; }

while($promotion_rows = mysql_fetch_array($CurrentPropmotionResults_select))
{ $promotions[] = $promotion; } 


foreach($jobs as $job_info)
{
    echo "<div class='JobItem'>
            <div class='JobItem_Gen'>
                <b>{$job_info['LocName']}</b>
                <p>{$job_info['Street']}</p>
                <p>{$job_info['City']}</p>
                <p>{$job_info['State']}</p>
                <p>{$job_info['Zip']}</p>
                <p>{$job_info['Phone']}</p>
            </div>";

    foreach($promotions as $promotion_info)
    {
        if($promotion_info['JobID'] == $job_info['ID'])
        {
           echo  "<div class='JobItem_Prom'>
                     <p>{$row['Date']}</p>
                     <p>{$row['Position']}</p>
                     <p>{$row['Wage']}</p>
                  </div>";
          }//if
     }//for each promotions
}//for each jobs

类似的东西。

编辑:
我假设促销表通过 JobID 字段链接到工作表。另外,我省略了查询每个数据库以获取单独的结果字符串的代码

关于php - 从多个表循环信息的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10424270/

相关文章:

php - 阿拉伯语中的 Sphinx Search 2.2.5 不工作

Python Two Sum - 蛮力法

php - 第二次在 foreach 中未在函数内部定义变量

php - Phalcon - 如何获取表的最后更新时间戳

php - laravel 数据库查询 max(date) 获取所有帖子

python - 如何用 Python 中的公式替换查看先前值的循环

javascript - 当我达到数字的倍数时在 JavaScript 循环中添加新行

php - 使用 if 语句获取 GET 值

mysql - MYSQL存储过程中if else

MySQL:启用加载数据本地INFILE