Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

492
Visualizações
Cómo usar los valores de una lista desplegable en una declaración sql en php

Estoy escribiendo un código php para obtener el valor de una lista desplegable y mostrarlo en una tabla. La lista desplegable se rellena directamente desde mi base de datos. El código para completar la lista desplegable es:

 <select name = "Service1"> <option>Select</option> <?php $con=getdb(); $query1="SELECT DISTINCT Service FROM pay"; $result1=mysqli_query($con,$query1);en while($rows1=mysqli_fetch_array($result1)){ $rowsData1=$rows1['Service']; ?> <option value=""><?php echo $rowsData1 ?></option> <?php } ?> </select> <select name = "Terminale1"> <option>Select</option> <?php $query2="SELECT DISTINCT Terminal FROM pay"; $result2=mysqli_query($con,$query2); while($rows2=mysqli_fetch_array($result2)){ $rowsData2=$rows2['Terminal']; ?> <option value=""><?php echo $rowsData2 ?></option> <?php } ?> </select>

Y esto funciona porque me muestra los valores en la lista desplegable. Ahora tengo un botón Submit que cuando hago clic en él tiene que mostrarme una tabla con los valores que he seleccionado en la consulta a continuación:

 <?php if(isset($_POST['submit'])) { $service2=$_POST['Service1']; $Terminale2=$_POST['Terminale1']; $query3="SELECT Date, Service, Status FROM mytable WHERE Service ='".$service2."' AND Terminal='".$Terminale2."'"; $result3=mysqli_query($con,$query3); while($rows3=mysqli_fetch_array($result3)){ $dataime=$rows3['Date']; $Service=$rows3['Service']; $Status=$rows3['Status']; ?> <tr> <td><?php echo $Date ?></td> <td><?php echo $Service ?></td> <td><?php echo $Status ?></td> </tr> <?php } } ?>

Cuando selecciono los valores de la lista desplegable, no me muestra ningún registro o error en mi tabla. ¿Qué estoy haciendo mal?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

JustOnUnderMillions sabe enviar respuestas como respuestas y no como comentarios, pero ocasionalmente no lo hace cuando la solución es menor. Desafortunadamente, esto hace que una pregunta parezca no resuelta/abandonada.

Enviaré una respuesta para que la acepte y la mejoraré con algunas mejoras.

 $con=getdb(); if($result=mysqli_query($con,"SELECT DISTINCT Service FROM pay")){ echo "<select name=\"Service1\">"; echo "<option>Select</option>"; while($row=mysqli_fetch_assoc($result)){ echo "<option>{$row["Service"]}</option>"; } mysqli_free_result($result); echo "</select>"; }else{ echo "Syntax Error On Service Query"; } if($result=mysqli_query($con,"SELECT DISTINCT Terminal FROM pay")){ echo "<select name=\"Terminale1\">"; echo "<option>Select</option>"; while($row=mysqli_fetch_assoc($result)){ echo "<option>{$row["Terminal"]}</option>"; } mysqli_free_result($result); echo "</select>"; }else{ echo "Syntax Error On Terminal Query"; }

Consejo:

  • Rebotar dentro y fuera de php usando <?php y ?> , en mi opinión, hace que el código sea más difícil de leer y el más mínimo error tipográfico puede ser más difícil de encontrar. Aunque no es obligatorio, recomiendo permanecer "en" php a menos que tenga una porción inusualmente grande de código que sea html puro.
  • A menos que vaya a usar una variable más de una vez, no se moleste en declararla. Es por eso que escribo la declaración de consulta directamente dentro de mysqli_query() y coloco la variable $row[column] directamente en la etiqueta de opción.
  • Siempre verifique que el resultado de su consulta sea verdadero antes de llamar a cualquier función mysqli_fetch_ . Debido a que la variable de resultado debe verificarse y luego usarse nuevamente, es más simple declararla y verificarla condicionalmente en una línea.
  • Si el texto y el valor de una opción son iguales, omita el atributo de valor. El valor será el valor de texto en el envío.
  • Es una buena práctica liberar los resultados cuando haya terminado con ellos.
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda