首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从表单中检索数据库php单选按钮

问从表单中检索数据库php单选按钮
EN

Stack Overflow用户
提问于 2015-03-28 02:19:37
回答 2查看 101关注 0票数 0

我无法从数据库表中检索数据( .please帮助我)错误太多。无法从数据库获取任何数据

代码语言:javascript
复制
&nbsp<input type="checkbox" name="model" value="Jetta" />Jetta
<input type="checkbox" name="model" value="Laguna" />Laguna
<input type="checkbox" name="model" value="Focus" />Focus
<input type="checkbox" name="model" value="Tico" />Tico
<input type="checkbox" name="model" value="Avensis" />Avensis

<input type="submit" name="submit" value="Register" /> </div>   
<input type="hidden" name="submitted" value="TRUE"/>
</fieldset>

file=(test2.php)

<?      
  mysql_connect("localhost","root","");
        mysql_select_db("carforsale");

        $sql =mysql_query("SELECT * FROM carforsale");  
        $row=mysql_fetch_assoc($sql);       
        $manufacturerName = 'manufacturerName';
        $modelName = 'modelName';
        $acquisitionPrice = 'acquisitionPrice';

$model = $_POST['model'];
if ($model=="Jetta") {

include('connect.php');
$result = mysql_query("manufacturerName,modelName,acquisitionPrice FROM  
carforsale WHERE modelName='Jetta'");
while($row = mysql_fetch_array($result))
{
echo '<td>'. $row['manufacturerName'].' </td>';
echo '<td>'.$row['modelName'].'</td>';
echo '<td>'.$row['acquisitionPrice'].'</td>';
echo '</tr>';
}
elseif ($model=="Laguna")

$result = mysql_query("manufacturerName,modelName,acquisitionPrice FROM  
carforsale WHERE modelName='Laguna'");
while($row = mysql_fetch_array($result))        {
echo '<td style="border-left: 1px solid #eacae7;">'. 
$row['manufacturerName'].'</td>';
echo '<td>'.$row['modelName'].'</td>';
echo '<td>'.$row['acquisitionPrice'].'</td>'; 
echo '</tr>';
}
}

?>

*我无法从数据库表中检索数据.please帮助我有太多错误;'(

EN

回答 2

Stack Overflow用户

发布于 2015-03-28 02:23:22

你得了这种病

代码语言:javascript
复制
if ($model=="Jetta") {...

但是$model并没有被分配到任何地方

将其更改为类似于

代码语言:javascript
复制
$model = $_POST['model'];
if ($model=="Jetta") {

因为没有赋值,所以条件是假的,并且在底部没有任何东西可供它执行,所以它基本上什么也不做

票数 1
EN

Stack Overflow用户

发布于 2015-03-29 23:39:17

你的代码是分散的,试着在更多的逻辑块中重构你的代码。此外,不再支持mysql_*函数的,它们是,不再维护,将来将是。您应该使用PDO或MySQLi更新您的代码,以确保将来项目的功能。

对您想要实现的目标进行更精细的调整

connect.php

代码语言:javascript
复制
<?php
    $host = '127.0.0.1';
    $user = 'root';
   $pass = '';
   $database = 'blub';

    try { 
        $pdo = new PDO('mysql:host=' . $host . ';dbname=' . $database, $user, $pass);
    }catch(PDOException $e) {
        echo 'Could not connect to database: ' . $e->getMessage();
        exit;
    }

cars.php

代码语言:javascript
复制
<?php
    include('connect.php'); //only connect once

    $sql = 'SELECT * FROM carforsale'; //default query
    $parms = array();
    $parameters = '';
    
    if (isset($_POST['model'])) {
        $sql .= ' WHERE modelName IN ({parameters})'; //adjust query when checkbox was selected
       foreach($_POST['model'] as $checkbox) {
        $parms[] = $checkbox;
        $parameters. = '?,';//forsee a placeholder for this checkbox
    }
        $parameters =      rtrim($parameters, ',');//remove last comma from ?,?,?, 
        $sql = str_replace('{parameters}', $parameters);//inject parameters when needed
    try {
        $stmt = $pdo->prepare($sql); //use PDO with prepared statements instead of mysql_query (see comment above)
        $stmt->execute($parms); //inject the model name in the parameter ? in the sql if needed
        $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
    }catch(PDOException $e) {
        echo 'Query failed: ' . $e->getMessage(); //always check SQL errors
        exit;
    }
    
    $table  = '<table border="1">';
    $table .= '<tr><th>Manufacturer</th><th>Model</th><th>Price</th></tr>';
    foreach($rows as $row) {
            $table .= '<tr>';
            $table .= '<td>'. $row['manufacturerName'].' </td><td>'.$row['modelName'].'</td><td>'.$row['acquisitionPrice'].'</td>';
            $table .= '</tr>';
    }
    $table .= '</table>';
?>
<!DOCTYPE html>
<html>
    <head>
        <title>Cars</title>
    </head>
    <body>
        <form action="#" method="POST">
            <fieldset>
                <input type="checkbox" name="model[]" value="Jetta" />Jetta
                <input type="checkbox" name="model[]" value="Laguna" />Laguna
                <input type="checkbox" name="model[]" value="Focus" />Focus
                <input type="checkbox" name="model[]" value="Tico" />Tico
                <input type="checkbox" name="model[]" value="Avensis" />Avensis
                
                <input type="submit" name="submit" value="Register" /> </div>   
                <input type="hidden" name="submitted" value="TRUE"/>
            </fieldset>
        </form>
        <?= $table ?>
    </body>
</html>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29307574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档