php - 在 Select HTML 中显示 MySQL 字段的所有记录

标签 php mysql sql

美好的一天,我正在为大学制作一些迷你审计员的预订系统,一个 (01) 用户可以进行多次预订,预订后用户必须通过上传 pdf 通知付款。

我向用户显示了一个表格,通过上传带有预订编号和小型审核的 pdf 来通知付款,但是如果我有多个预订,我需要全部显示,以便他选择他所有的预订中的哪一个付款并想通知,因为我有代码现在只显示第一个预订,我希望当我单击“选择”HTML 时,我将显示它具有的所有预订编号以及与之相关的小型审计那个保留。然后我留下代码(我很抱歉,我正在学习,我可能有很多错误,我也很抱歉我的英语不好):

这是一个现在看起来如何的例子https://i.imgur.com/XvRdRTe.gif

<?php
session_start();
	include '/login/funcs/funcs.php';
	include_once 'config.inc.php';
	
	if(!isset($_SESSION["id_usuario"])){ //Si no ha iniciado sesión redirecciona a index.php
		header("Location: index.php");
	}
	
	$idUsuario = $_SESSION['id_usuario'];
	
	
		
		$db=new Conect_MySql();
		$sql2 = "SELECT `idsolicitudes`, `id`, `nombre_sala` FROM solicitudes WHERE `id`=$idUsuario";
		$query2 = $db->execute($sql2);
		$datos=$db->fetch_row($query2);
		
		$sql3 = "SELECT `id`, `usuario`, `nombre`, `apellido` FROM usuarios WHERE `id`=$idUsuario";
		$query3 = $db->execute($sql3);
		$datos2=$db->fetch_row($query3);
		
			echo $datos['usuario'];
?>
	
	



<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->



<html>
  
  <?php


if (isset($_POST['subir'])) {
    $nombre = $_FILES['archivo']['name'];
    $tipo = $_FILES['archivo']['type'];
    $tamanio = $_FILES['archivo']['size'];
    $ruta = $_FILES['archivo']['tmp_name'];
    $destino = "archivos/" . $nombre;
    if ($nombre != "") {
        if (copy($ruta, $destino)) {
            $titulo= $_POST['titulo'];
            $descri= $_POST['descripcion'];
			$solicitud = $_POST ['solicitud'];
            $db=new Conect_MySql();
            $sql = "INSERT INTO tbl_documentos(idsolicitud, id, titulo,descripcion,tamanio,tipo,nombre_archivo) VALUES('$solicitud','$idUsuario','$titulo','$descri','$tamanio','$tipo','$nombre')";
            $query = $db->execute($sql);
            if($query){
				echo '<script type="text/javascript">';
				echo 'setTimeout(function () { swal("Buen trabajo!","Hemos recibido la información de tu pago, pero primero debemos confirmarla, espera por nuestro correo electrónico con información detallada!","success");';
				echo '}, 1000);</script>';
				
			/*
                echo "<script type=\"text/javascript\">swal(\"Se guardó correctamente\");
				window.location.href='/login/welcome.php';
				</script>";*/
				
            }
        } else {
            echo "Error";
        }
    }
}
?>
  
<body>
  <div align="center" class="main"> <!-- Primer Div Parallax -->	
		<div class="container" id="stuff">
        <div style="width: 500px; margin: auto; style=background-color:white; padding: 30px;">
            <h2 id="stuff" style="background-color:#1c1c1c"><b>Informános tu pago</b></h2>
			 <h4 ><b>Sube tu comprobante de deposito o transferencia solo despues de haber <a href="/login/reservar.php">reservado</a></b></h4>
            
			
			<form method="post" action="" enctype="multipart/form-data">
                <table>
				
					<div class="form-group">
                    <tr>
					
                        <td><label>Miniauditorio</label></td>
						 
                        <td><div class="col-sm-10">
						  <select id="disabledSelect" name="titulo"  style="WIDTH: 228px; HEIGHT: 40px"  class="form-control" placeholder="<?php echo $datos['nombre_sala']; ?>">
							<option placeholder="<?php echo $datos['idsolicitud']; ?>"><?php echo $datos['nombre_sala']; ?></option>
							
						  </select>
						 </div>
						</td>
						</div>
                    </tr>
					</div>
                    <tr> 
                        <td><label><br />Nombre Titular</label></td>
                        <td><br /><input style="WIDTH: 250px; HEIGHT: 35px"  class="form-control" style="color:black" name="descripcion" disabled value="<?php echo $datos2['nombre']; ?> <?php echo $datos2['apellido']; ?>"></td>
                    </tr>
					<img class="img2" src="/login/images/pdficon.png">
					<tr> 
                        <td><label><br />Número de Solicitud</label></td>
                        <td><div class="col-sm-10">
						  <select id="disabledSelect" name="titulo"  style="WIDTH: 228px; HEIGHT: 40px"  class="form-control" placeholder="<?php echo $datos['nombre_sala']; ?>">
							<option placeholder="<?php echo $datos['idsolicitud']; ?>"><?php echo $datos['idsolicitudes']; ?></option>
							
						  </select>
                    </tr>
               
                        <td colspan="2"><br />
						<span class="btn btn-default btn-file">
						<input type="file" name="archivo"></td>
						</span>
						<div align="center">
						<tr align="center">
                        <td align="center"><br /><input align="center" class="btn btn-success" type="submit" value="Subir" name="subir"></td>
                       <!-- <td><a href="lista.php">lista</a></td> -->
					 
                    </tr>
					</div>
					
                </table>
				
				<h4><b>Antes de enviarnos su información, verifique que su archivo este guardado en formato PDF</b></h2>
            </form>            
        </div>
		</div>
		
		<!-- Posible imagen<img src="https://i.imgur.com/5utiwXU.jpg">-->
		
		
    </body>
</html>

这是我的连接函数

<?php 

class Conect_MySql {   
     var $obj = array ( "dbname"	=>	"login",
                       "dbuser"		=>	"root"		,
                       "dbpwd"		=>	""		,
                       "dbhost"		=>	"localhost"	);


     var $q_id	="";
     var $ExeBit	="";
     var $db_connect_id = "";
     var $query_count   = 0;
    private function connect(){
		$this->db_connect_id = mysqli_connect($this->obj['dbhost'],$this->obj['dbuser'],$this->obj['dbpwd'],$this->obj['dbname']);
             if (!$this->db_connect_id)
              {
                echo (" Error no se puede conectar al servidor:".mysqli_connect_error());
    	  }
  }

function execute($query) {       
        $this->q_id = mysqli_query($this->db_connect_id,$query);        
        if(!$this->q_id ) {
            $error1 = mysqli_error($this->db_connect_id);
            die ("ERROR: error DB.<br> No Se Puede Ejecutar La Consulta:<br> $query <br>MySql Tipo De Error: $error1");
            exit;
        }         
	$this->query_count++; 
	return $this->q_id;    
    }


  public function fetch_row($q_id = "") {
    	if ($q_id == "") {
    		$q_id = $this->q_id;
   	 	}
        $result = mysqli_fetch_array($q_id);
        return $result;
    }	

 public function get_num_rows() {
        return mysqli_num_rows($this->q_id);
    }

public function get_row_affected(){
    return mysqli_affected_rows($this->db_connect_id);
}

public	function get_insert_id() {
    return mysqli_insert_id($this->db_connect_id);
}

public  function free_result($q_id) {
   		if($q_id == ""){
    		$q_id = $this->q_id;
		}
	mysqli_free_result($q_id);
    }	

public function close_db(){
        return mysqli_close($this->db_connect_id);
    }

public function more_result() {
		return mysqli_more_results($this->db_connect_id);
	}
public function next_result() {
		return mysqli_next_result($this->db_connect_id);
	}

  public function __construct(){
        $this->connect();
    }
  
}
?>

最佳答案

mysqli_fetch_raw($results)

mysqli_fetch_array($results)

只会给你关于一个原始的信息。并使用,

$datos = mysqli_fetch_all($query2)

可以通过添加for循环得到所有的输出结果。 例如。

如果你想得到所有的输出,

    <select id="disabledSelect" name="titulo"  style="WIDTH: 228px; HEIGHT: 40px"  class="form-control">
<?php
    for ($i=0 ; $i<=(count($result)-1);$i++){
if ($i==0){$selected="select";} else {$selected=""}
    echo '<option value="'. $result[$i][0].'" '.$selected.'>'.$result[$i][2].'</option>';
    }
?php
</select>

也很抱歉我的英语不好..

关于php - 在 Select HTML 中显示 MySQL 字段的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47250439/

相关文章:

php - 如何在 CakePHP 中为一个模型动态使用多个数据库

sql - 使用新值更新临时表中的列

php - 管理循环中的多个 SQL 语句

MySQL:从 MyISAM 转换为 InnoDB 使查询更快......?

sql - 为什么此 SQL ODBC 查询不起作用?

javascript - 请求 SQL 2 左外连接

php - 如何构建账户余额系统

java - 如何在JSP中创建全局 session ?

php - 标准化 PHP 中的 DateInterval

php - 在 Netbeans 7.3 中配置 Composer