php - 从另一个表中的值填充表

标签 php mysql

我有 2 个 View 表,第一个是国家/地区,第二个是州。就个人而言,它们都工作得很好。国家/地区表列出了所有国家/地区,州/地区表列出了所有州/地区。

在国家/地区表中,我有一个指向各州的链接,将country_id传递给州/地区表,因为我只想列出所选国家/地区的州,而不是所有州。

我已经尝试了很多其他人提供的解决方案,但仍然无法使其工作。我非常感谢您在一些简单的事情上的帮助。

states.php(这是我到目前为止所拥有的,但它不起作用,错误出现在选择行中。)

<?php
$per_page = 25;
$result = mysql_query("SELECT * FROM states' SET states.country_id = countries.id FROM countries INNER JOIN countries ON states = countries WHERE states.country_id = country_id ORDER BY states.name ASC;");
$total_results = mysql_num_rows($result);
$total_pages = ceil($total_results / $per_page);

if (isset($_GET['page']) && is_numeric($_GET['page']))
{
    $show_page = $_GET['page'];

    // make sure the $show_page value is valid
    if ($show_page > 0 && $show_page <= $total_pages)
    {
        $start = ($show_page -1) * $per_page;
        $end = $start + $per_page; 
    }
    else
    {
        // error - show first set of results
        $start = 0;
        $end = $per_page; 
    }       
}
else
{
    // if page isn't set, show first set of results
    $start = 0;
    $end = $per_page; 
}

echo "<p><a href='state.php'>View All</a> | <b>View Page:</b> ";
for ($i = 1; $i <= $total_pages; $i++)
{
    echo "<a href='state.php?page=$i'>$i</a> ";
}
echo "</p>";

echo "<table border='1'>";
echo "<tr> <th>State:</th></tr>";

for ($i = $start; $i < $end; $i++)
{
    if ($i == $total_results) { break; }

    echo "<tr>";
    echo '<td>' . mysql_result($result, $i, 'name') . '</td>';
    echo "</tr>"; 
}
echo "</table> "; 

?>

最佳答案

您没有任何包含从country.php 传递到states.php 中选择的国家/地区的变量,因此您需要首先弄清楚这一点。

这是一个非常基本的查询示例,您需要根据“所选”国家/地区提取州/省/自治区/直辖市。但是您需要在某处指定 $country 变量,而您的代码中没有该变量。

SELECT a.* FROM states a  
WHERE a.country_id = '".$country_id."' 
ORDER BY a.name ASC

如果您没有使用 PDO(实际上您没有),那么您需要确保 $country 变量是安全的,并且最好至少也转义它。

关于php - 从另一个表中的值填充表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36179153/

相关文章:

mysql 不返回正确的 json

php - 混合 php 和 javascript —— 在什么条件下?

php - 选择并取消链接 3 个表上的文件

php - 为 php.ini 文件设置新路径

MySQL ORDER BY 和 JOIN

python - (2002, "Can' t 通过套接字 '/var/lib/mysql/mysql.sock' (2) 连接到本地 MySQL 服务器”)

php - 从表中选择回显一行而不是多行

PHP - 从 URL 下载文件

mysql - activerecord 是否截断时间戳精度?

mysql - 如何设置用户只能编辑和访问特定的数据库表?