Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: Urk83 en 21 Octubre 2011, 21:19 PM

Título: Conseguir mostrar el contenido seleccionado en un raddio button.
Publicado por: Urk83 en 21 Octubre 2011, 21:19 PM
Hola estoy trabajando en un ejercio, necesito hacer un php que saque los campos de una tabla en forma de radio button,y al seleccionar uno obtener el valor.

ahora mismo lo que obtengo es un on, de que esta activado,y me he quedado un poco bloqueado.

<html>
<body>
<?
if(!$_POST){
mysql_connect('localhost','root','123451234512345') or die(mysql_error());
mysql_select_db("agenda") or die(mysql_error());
echo '<form name ="radiobutton" method ="POST" action="busprodclte.php">';
echo '<table>';
$productos=mysql_query("select * from productos");
while($muestra=mysql_fetch_array($productos)){
echo '<tr><td>'.$muestra["nomprod"].'<INPUT TYPE="radio" NAME="elegido"/></td></tr>';
}
echo '</table>';
echo '<input type ="submit" value ="Buscar">';
echo '</form>';
}else{
$elegido=$_POST['elegido'];
echo "$elegido";

}
?>
</body>
</html>
Título: Re: Conseguir mostrar el contenido seleccionado en un raddio button.
Publicado por: WHK en 21 Octubre 2011, 22:24 PM
Hola, primeramente recuerda que usar <? es una muy mala práctica porque no todos los servidores soportan los tags cortos, intenta usar <?php

Además tu código no funciona porque recuerda que a los inputs de tipo radio debes ponerle el value para saber que cosa vas a enviar via post.

Código (php) [Seleccionar]
<?php
/* Core */
if(!mysql_connect('localhost','root','123451234512345'))
die('Error al conectar al servidor.'); /* Jamas se imprimen los errores */
if(!mysql_select_db("agenda"))
die('La base de datos no existe.');
if(
$productos mysql_query("select * from productos")){
while($muestra mysql_fetch_array($productos)){
$prod[$muestra['nomprod']] = $muestra['nomprod'];
}
unset($muestra);
}
mysql_close();

/* View */
?>

<html>
<body>
<?php if($_POST){ ?>
<?php if(in_array($_POST['elegido'], $prod)){ ?>
<p>El producto elegido es <strong><?php echo htmlspecialchars($_POST['elegido'], ENT_QUOTES); ?></strong></p>
<?php }else{ ?>
<p>El producto elegido no existe.</p>
<?php ?>
<?php ?>
<?php if($prod){ ?>
<form method="POST" action="<?php echo isset($_SERVER['HTTPS']) == true 'https' 'http' '://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']; ?>">
<table>
<tbody>
<?php foreach($prod as $muestra){ ?>
<tr>
<td width="15"><INPUT TYPE="radio" name="elegido" value="<?php echo htmlspecialchars($muestraENT_QUOTES); ?>" /></td>
<td><?php echo htmlspecialchars($muestraENT_QUOTES); ?></td>
</tr>
<?php ?>
</tbody>
</table>
<input type ="submit" value ="Buscar" />
</form>
<?php }else{ ?>
<p>No hay productos</p>
<?php ?>
</body>
</html>


Saludos.