PHP处理表单时的空白页面

时间:2014-07-02 14:56:33

标签: php mysql xampp

我花了大约一到两个小时寻找前面提出的问题的答案,修改代码中的某些内容,我尽量在代码中抛出某种错误,但是对于我能做的所有事情而言仍然指导我进入 BLANK PAGE

此代码是汽车零件的搜索引擎,我在其中输入数值或描述%$ buscar%并显示所有搜索结果或特定搜索的表格

这是带有DB和Query的连接的PHP:

<?php
error_reporting(E_ALL); // Report on all errors
ini_set('display_errors', '1');
if ($_POST['buscar'])
{
// Take te value
$buscar = $_POST['buscar'];
// Si está vacío, lo informamos, sino realizamos la búsqueda
if(empty($buscar))
{
echo "No se ha ingresado una cadena a buscar";
}else{
//Conection to DB
$servidor = "localhost"; //Nombre del servidor
$usuario = "myuser"; //Nombre de usuario en tu servidor
$password = "mypass"; //Contraseña del usuario
$base = "dbname"; //Nombre de la BD
//conection
$link = mysqli_connect("$servidor","$usuario","$password","$base") or die("Error " . mysqli_error($link));
//Query:
$query = "SELECT * FROM repuestos WHERE id LIKE '%$buscar%' AND descripcion LIKE '%$buscar%' ORDER BY id" or die("Error in the consult.." . mysqli_error($link)); 
//execute the query.
$result = mysqli_query($link, $query);
//display information: 
while ($field = mysqli_fetch_field($result)){ 
        echo "<td>$field->name</td> \n"; 
} 
while($row = mysqli_fetch_array($result)) {
echo "<table border = '1'> \n"; 
//Show Table names
echo "<tr> \n"; 

echo "</tr> \n"; 
    do { 
        echo "<tr> \n"; 

        echo "<td>".$row["id"]."</td> \n"; 

        echo "<td>".$row["descripcion"]."</td> \n"; 

        echo "<td>".$row["cantidad"]."</td> \n"; 

        echo "</tr> \n"; 

  } while ($row = mysqli_fetch_array($result));

        echo "</table> \n"; 
echo "¡ No se ha encontrado ningún registro !"; 
} 
}
}
?> 

更新1:

我把Fetch_field放在第一个fecth_array之前,现在页面给我行的名称(id,descripcion,cantidad),但没有表格和记录......

如果表格IF我在那里遇到问题......

<form method="post" action="buscarep1.php">
                        <label>Numero  o Descripción del Repuesto<br />
                        </label>
                        <input name="buscar" placeholder="Escriba Aquí" id="buscar">
    <input id="submit" name="buscar" type="submit" value="buscar">

     <input type="hidden" value="buscar" size="40">
                    </form> 

我正在使用..: xampp,php with phpmyadmin

感谢任何能够弄清楚这里发生了什么的人

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

if ($_SERVER['REQUEST_METHOD']=='POST'){
    $buscar = $_REQUEST['buscar'];
    if(empty($buscar)) {
        echo "No se ha ingresado una cadena a buscar";
    }else{
        $servidor = "localhost";
        $usuario = "myuser";
        $password = "mypass";
        $base = "dbname";
        $link = mysqli_connect("$servidor","$usuario","$password","$base") or die("Error " . mysqli_error($link));
        $query = "SELECT id,descripcion,cantidad FROM repuestos WHERE id LIKE '%$buscar%' AND descripcion LIKE '%$buscar%' ORDER BY id" or die("Error " . mysqli_error($link)); 
        if ($result=mysqli_query($link, $query)) {
            echo "<table border = '1'>
                    <tr>
                        <td>ID</td>
                        <td>Descripcion</td>
                        <td>Cantidad</td>
                    </tr>"; 
            if ($result->num_rows>0){
                while ($row=mysqli_fetch_array($result)){
                    echo "<tr>
                            <td>".$row["id"]."</td>
                            <td>".$row["descripcion"]."</td>
                            <td>".$row["cantidad"]."</td>
                          </tr>"; 
                }
            } else {
                echo "<tr>
                        <td colspan='3'>No se ha encontrado ningún registro</td>
                      </tr>";
            }
            echo "</table>";
        }
    }
}

在mho看起来更干净一点。您还在字段&#34; id&#34;上进行字符串搜索,这通常是类型int字段,但在您的设计中可能有所不同。

希望它有所帮助。