Error al cargar un SELECT con información de una base de datos
Publicado por Robokick (156 intervenciones) el 25/12/2022 01:46:53
Hola Amigos, necesito de su ayuda por favor
tengo una tabla paises con unicamente 3 paises y lo que quiero es que en un elemento select de HTML cargue de forma dinámica los paises conforme los voy agregando, este es mi select de MYSQL
//Cargando los paises
$paises = $conexion->query("select * from paises");
$paises = $paises->fetchAll();
si ejecuto un print_r($paises) me muestra en pantalla los paises de la tabla paises
lo que hago es en el codigo HTML agregar codigo PHP porque uso codigo puro y he realizado dos tipos de codificacion
PRIMERA
<select name="pais" class="pais">
<?php foreach($paises as $country): ?>
<option value="<?php echo $country['valor']; ?>" ><?php echo $country['pais']; ?></option>
<?php endforeach; ?>
</select>
SEGUNDA
<select name="pais" class="pais">
<?php if(is_array($paises) || is_object($paises)): ?>
<?php foreach($paises as $country): ?>
<option value="<?php echo $country['valor']; ?>" ><?php echo $country['pais']; ?></option>
<?php endforeach; ?>
<?php endif; ?>
</select>
el mensaje que obtengo es el siguiente:
<b>Warning</b>: foreach() argument must be of type array|object, string given in <b>C:\xampp\htdocs\php\sitioWeb\vistas\registrate.vista.php</b> on line <b>37</b><br />
la linea 37 hace referencia al foreach pero solo cuando uso la PRIMERA si uso la SEGUNDA forma no obtengo mensaje de error pero tampoco carga los paises
espero me puedan ayudar por favor porque he estado averiguando y no obtengo solución
GRACIAS
tengo una tabla paises con unicamente 3 paises y lo que quiero es que en un elemento select de HTML cargue de forma dinámica los paises conforme los voy agregando, este es mi select de MYSQL
//Cargando los paises
$paises = $conexion->query("select * from paises");
$paises = $paises->fetchAll();
si ejecuto un print_r($paises) me muestra en pantalla los paises de la tabla paises
lo que hago es en el codigo HTML agregar codigo PHP porque uso codigo puro y he realizado dos tipos de codificacion
PRIMERA
<select name="pais" class="pais">
<?php foreach($paises as $country): ?>
<option value="<?php echo $country['valor']; ?>" ><?php echo $country['pais']; ?></option>
<?php endforeach; ?>
</select>
SEGUNDA
<select name="pais" class="pais">
<?php if(is_array($paises) || is_object($paises)): ?>
<?php foreach($paises as $country): ?>
<option value="<?php echo $country['valor']; ?>" ><?php echo $country['pais']; ?></option>
<?php endforeach; ?>
<?php endif; ?>
</select>
el mensaje que obtengo es el siguiente:
<b>Warning</b>: foreach() argument must be of type array|object, string given in <b>C:\xampp\htdocs\php\sitioWeb\vistas\registrate.vista.php</b> on line <b>37</b><br />
la linea 37 hace referencia al foreach pero solo cuando uso la PRIMERA si uso la SEGUNDA forma no obtengo mensaje de error pero tampoco carga los paises
espero me puedan ayudar por favor porque he estado averiguando y no obtengo solución
GRACIAS
Valora esta pregunta


0