PHP和SQL - 如何选择两个表和两列

时间:2013-12-18 17:46:50

标签: php

我正在尝试从电子商务商店为项目构建“模拟”。

我的想法是:当客户试图购买特定产品时,他必须点击链接,此链接将转到带有提交表单的页面。

此表格必须自动从三个文本框中的产品中获取信息,以及三个名称为“姓名,城市和电话”的文本框。

因此,当用户未登录时,文本三个框(名称,城市和电话)显示为空,但如果用户已登录,则记录帐户中的所有信息将自动显示在文本框中。

我想选择两个表,以及来自不同表的两个ID

对不起我的英语,但我希望你理解:

这是我的功能:

 function buyProduct() {

            $sql = "SELECT * FROM `cds`";
            if(($rs=$this->bd->executarSQL($sql))){

                $id = preg_replace('#[^0-9]#i', '', $_GET['id']); 

    $consulta = mysql_query("SELECT * FROM `cds`, WHERE ID='$id' LIMIT 1");
    $productCount = mysql_num_rows($consulta); 
    if ($productCount > 0) {

                        while ($linha = mysql_fetch_array($consulta))   {

                             $gravadora = $linha['gravadora'];  
                             $artista = $linha['artista'];  
                             $id = $linha['ID'];  
                             $detalhes = $linha['detalhes'];  
                             $preco = $linha['preco'];  
                             $imagem = $linha['imagem'];  
                             $categoria = $linha['categoria'];  
                            $titulo = $linha['titulo'];  

                       }

    } else {
        echo "Este produto não existe.";
        exit();
    }

} else {
    echo "Lamentamos, mas ocorreu um erro na página.";
    exit();
} 

echo '<a style="font-size:20px; color: #ff00ff;">Name:</a><p>
        <input type="text" name="nome" style="width:220px; "></input><p>
        <a style="font-size:20px; color: #ff00ff;">City:</a><p>
        <input type="text" name="morada" style="width:220px;" ></input><p>
        <a style="font-size:20px; color: #ff00ff;">Telephone:</a><p>
        <input type="text" name="telefone" style="width:220px;"></input><p>
        <a style="font-size:20px; color: #ff00ff;">Titulo do CD:</a><p>
        <input type="text" name="titulo" style="width:220px;"  value="'.$titulo.'"></input><p>
        <a style="font-size:20px; color: #ff00ff;">Artista:</a><p>
        <input type="text" name="artista" style="width:220px;"  value="'.$artista.'"></input><p>
        <a style="font-size:20px; color: #ff00ff;">Preço:</a><p>
        <input type="text" name="preco" style="width:220px;"  value="'.$preco.'"></input><p>
<br>
         <input type="submit" class="registrar" value="Comprar CD"><p>';
         }

1 个答案:

答案 0 :(得分:0)

你的问题并不简洁。

“简单地”从两个表中选择两列的正确语法是:

SELECT `table1`.`col1`,
       `table1`.`col2`,
       `table2`.`col1`,
       `table2`.`col2`
FROM `table1`, `table2`

如果没有您更清楚地向我们提供您的表架构或您的特定需求,我们无法真正帮助您进行更具体的查询。通常MySQL joins比此语法更合适,尤其是表are relational

我建议您阅读like this