Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] radio buttom php sql update.

Estas en el tema de radio buttom php sql update. en el foro de PHP en Foros del Web. Hola, estoy muy pez en esto, a pesar de que he visto varios vídeos y he leído varias páginas no lo tengo del todo claro, ...
  #1 (permalink)  
Antiguo 08/12/2016, 20:16
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 1
radio buttom php sql update.

Hola, estoy muy pez en esto, a pesar de que he visto varios vídeos y he leído varias páginas no lo tengo del todo claro, de todas formas he intentado hacerlo pero algo he hecho mal, no está funcionando además estoy recibiendo este error:
Warning: mysql_free_result() expects parameter 1 to be resource, null given in blocks.php on line 26
Estoy editando tanto el código form como el php en el mismo archivo (blocks.php) porque ya estoy acumulando demasiados archivos externos.
¿Alguien sabría decirme que he puesto mal? Muchas gracias.

Hay una tabla llamada blocks y lo que quiero es cambiar el valor de 'active' mediante un radiobutton yes/no que insertaría 1/0 depende de lo elegido:

Código:
id 	title 	             content_file 	content_html 	language   sort_order 	active
1 	Next Events  next_events 	                        english 	     1 	         1
2 	Last Race      last_race 		                        english 	     2 	         1
3 	Standings     standings 		                        english 	     3 	         1
Código PHP:
<? if(!defined("CONFIG")) exit();
if(!isset(
$login)) { show_error("You do not have administrator rights\n"); return; }
require_once(
"session_start.php");
?>
<!--Next events block-->
<h1>Next events</h1>
<form action="blocks.php" method="post"> 
  Activate:
  <input type="radio" name="active_next" <?php if (isset($active_next) && $active_next=="1") echo "checked";?> value="1">Yes
  <input type="radio" name="active_next" <?php if (isset($active_next) && $active_next=="0") echo "checked";?> value="0">No
   &nbsp;
   </b> </b> <input type="submit" name="submit_next" value="Set">
  <br><br> 
</form>

<?PHP
mysqlconnect
();

if (isset(
$_POST['submit_next'])){
$query_next "UPDATE blocks SET active='$active_next' WHERE content_file='$next_events'";
$result_next mysql_query($query_next);
if(!
$result_nexterror("MySQL Error: " mysql_error() . "\n");

return_do(".?page=blocks""activated succesfully modified\n$msg");}
mysql_free_result($result_next)

?>
  #2 (permalink)  
Antiguo 08/12/2016, 20:33
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: radio buttom php sql update.

Me puedes mostrar

El session_start.php porfavor antes de sacar conclusiones.

Saludos

Última edición por alvaro_trewhela; 08/12/2016 a las 21:20
  #3 (permalink)  
Antiguo 09/12/2016, 09:06
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: radio buttom php sql update.

Hola Alvaro,

Este es el sesion start:

Código PHP:
// Version information
define("TITLE""PREM");
define("SUBTITLE""Podium race E manager");
define("VERSION""1.1.0");
define("PAGE_DEFAULT""main");
define("PAGE_ERROR""error");
// Comment these if you do not need them:
define("USE_MYSQL"1);
define("USE_LOGIN"1);
#define("USER_MUST_LOGIN", 1);
// Include classes
if(defined("USE_LOGIN")) {
    require_once(
"classes/mysql_login.php");
}
// Start session
session_name("PREM");
session_cache_limiter("private, must-revalidate");
session_start();
// Include main configuration and functions
if(!is_file("config.php")) {
    die(
"PREM is not configured. Please create a config.php or copy config.php.dist to config.php for the default options\n");
}
require_once(
"config.php");
require_once(
"functions.php");
if(
defined("USE_LOGIN")) {
    
// Logged in?
    
if(isset($_SESSION['login']) && $_SESSION['login']->is_loggedin()) {
        
$login $_SESSION['login'];
        
$permissions $login->get_data("permissions");
        
$userid $login->get_data("id");
        
$username $login->username();
    }
}
?> 
  #4 (permalink)  
Antiguo 10/12/2016, 19:29
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: radio buttom php sql update.

Cita:
Iniciado por alvaro_trewhela Ver Mensaje
Me puedes mostrar

El session_start.php porfavor antes de sacar conclusiones.

Saludos
¿Entonces?

Probé también con:

if (isset($_POST['active_next'])){

Pero sigue sin funcionar.
  #5 (permalink)  
Antiguo 11/12/2016, 17:24
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: radio buttom php sql update.

Sé que no voy a recibir ayuda, podéis cerrar el post.
  #6 (permalink)  
Antiguo 12/12/2016, 01:07
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: radio buttom php sql update.

Hola spark21,

El error que estás recibiendo es porque $result_next está vacío, para evitar ese error, debes validar las operaciones que haces...
  #7 (permalink)  
Antiguo 14/12/2016, 11:20
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: radio buttom php sql update.

Cita:
Iniciado por rbczgz Ver Mensaje
Hola spark21,

El error que estás recibiendo es porque $result_next está vacío, para evitar ese error, debes validar las operaciones que haces...
Por lo que entendí para validar una operación sería algo así:

If ($_POST) {
// Hago todo lo relativo al procesamiento del formulario
} else {
// Hago todo lo relativo a mostrar el formulario (<form ....></form>)

Así que modifiqué de nuevo el código pero sigue sin funcionar.

blocks.php:
Código PHP:
<!--Next events block-->
<?

    mysqlconnect
();

    if (isset(
$_POST['active_next'])) {
    
$query_next "UPDATE blocks SET active='$active_next' WHERE content_file='$next_events'";
    
$result_next mysql_query($query_next);
    if (!
$result_nexterror("MySQL Error: ".mysql_error()."\n");

    echo 
"activated succesfully modified\n$msg";
}else{ 
?>


        <h1>Next events</h1>
        <form action="blocks.php" method="post"> 
        Activate:
      <input type="radio" name="active_next" <?php if (isset($active_next) && $active_next=="1") echo "checked";?> value="1">Yes
      <input type="radio" name="active_next" <?php if (isset($active_next) && $active_next=="0") echo "checked";?> value="0">No
       &nbsp;
       </b> </b> <input type="submit" name="submit" value="Set">
      <br><br> 
    </form>
<? ?>
Me muestra la página blocks.php en lugar de ?page=blocks, además aparece en blanco y el valor active en la base de datos no cambia.

Última edición por spark21; 14/12/2016 a las 11:35
  #8 (permalink)  
Antiguo 14/12/2016, 11:40
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: radio buttom php sql update.

Hola ,

Yo me refería a algo así:

Código PHP:
Ver original
  1. $result_next = mysql_query($query_next);
  2. if(!$result_next) error("MySQL Error: " . mysql_error() . "\n");
  3. if ( !empty($result_next) ) {
  4. return_do(".?page=blocks", "activated succesfully modified\n$msg");}
  5. mysql_free_result($result_next)
  6. }

Solo es la idea, pero espero que te sirva...
  #9 (permalink)  
Antiguo 14/12/2016, 13:40
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: radio buttom php sql update.

El problema tiene que ser otro, selecciono una opción yes o no y me lleva a la página blocks.php en lugar a la que debería ?page=blocks (la correcta), se muestra vacía (en blanco), y en la base de datos no ha cambiado el valor active.

Código PHP:
<!--Next events block-->

        <h1>Next events</h1>
        <form action="blocks.php" method="post"> 
        Activate:
      <input type="radio" name="active_next" <?php if (isset($active_next) && $active_next=="1") echo "checked";?> value="1">Yes
      <input type="radio" name="active_next" <?php if (isset($active_next) && $active_next=="0") echo "checked";?> value="0">No
       &nbsp;
       </b> </b> <input type="submit" name="submit" value="Set">
      <br><br> 
    </form>


<?
    mysqlconnect
();

    if (isset(
$_POST['active_next'])) {
    
$query_next "UPDATE blocks SET active='$active_next' WHERE content_file='$next_events'";
    
$result_next mysql_query($query_next);
if(!
$result_nexterror("MySQL Error: " mysql_error() . "\n");
if ( !empty(
$result_next) ) {
return_do(".?page=blocks""activated succesfully modified\n$msg");}
mysql_free_result($result_next);
}            
 
?>
  #10 (permalink)  
Antiguo 14/12/2016, 13:41
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: radio buttom php sql update.

Bueno, no quiero molestar más con esto, si encuentro la solución postearé de nuevo.
  #11 (permalink)  
Antiguo 14/12/2016, 14:47
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: radio buttom php sql update.

Hola spark21,

Por lo que veo, ahora que lo he podido mirar con más detenimiento, no se ve en ningún sitio cómo está definida la función return_do(), que puede ser donde esté el problema... tampoco sabemos qué valor tiene o debe tener la variable $next_events.

Lo mejor sería que postearas todo el código que interviene en este proceso porque si no, va a ser difícil ayudarte...
  #12 (permalink)  
Antiguo 14/12/2016, 15:22
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: radio buttom php sql update.

Cita:
Iniciado por rbczgz Ver Mensaje
Hola spark21,

Por lo que veo, ahora que lo he podido mirar con más detenimiento, no se ve en ningún sitio cómo está definida la función return_do(), que puede ser donde esté el problema... tampoco sabemos qué valor tiene o debe tener la variable $next_events.

Lo mejor sería que postearas todo el código que interviene en este proceso porque si no, va a ser difícil ayudarte...
Hola, en el primer post puse todo el código que interviene y la tabla. El valor de $next_events... puede que la haya liado ahí porque quizás no deber llevar $ como si fuera una variable. Next_events es el criterio para where, es un nombre de un fichero (next_events.php), este fichero está registrado en la base de datos, en la columna content_file.

Lo explico mejor, en la página principal hay una serie de bloques/módulos php, estos aparecen o no en función de si en la tabla blocks la columna active tiene el valor '1', si tiene valor '0' no aparece.
La idea es desde el panel de administración (blocks.php) mediante un radiobutton decidir, con yes o no, si el bloque en cuestión se va a mostrar en la página principal. Mediante el radiobutton se pretende cambiar el valor active a '1' o '0'.

Código:
id 	title 	             content_file 	content_html 	language   sort_order 	active
1 	Next Events  next_events 	                        english 	     1 	         1
2 	Last Race      last_race 		                        english 	     2 	         1
3 	Standings     standings 		                        english 	     3 	         1
Hay tres bloques correspondientes a 3 ficheros, next_events.php, last_race.php, standings.php El valor active indica si se va a mostrar o no en la página principal.

Return_do, imagino que se define en un archivo llamado functions, lo compruebo...

P.D: Efectivamente:

Código PHP:
function return_do($dest$msg "") {
    if(!empty(
$msg))
        
$msg "&msg=" urlencode($msg);

    
header("Location: $dest$msg");
    exit();
}

if(
defined("USE_MYSQL")) {
    
/**
     * mysqlconnect function connects to mysql server and quits
     * with an error if unsuccesfull
     *
     * @global string $config The configuration from config.php is needed
     * @return resource MySQL connection link resource
     */
    
function mysqlconnect() {
        global 
$config;

        
$ret = @mysql_connect($config['mysql']['host'], $config['mysql']['user'], $config['mysql']['pass']);
        if(!
$ret) {
            die(
"MySQL error: " mysql_error() . "\n");
        }
        
mysql_select_db($config['mysql']['db']) or error("MySQL error: " mysql_error() . "\n"".");

        return 
$ret;
    }

Gracias por tu paciencia.

Última edición por spark21; 14/12/2016 a las 15:32
  #13 (permalink)  
Antiguo 15/12/2016, 01:55
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: radio buttom php sql update.

Hola spark21,

Como te decía, si te fijas en la función return_do, tiene un header("Location:..."), por lo tanto, esta función solo puede ser llamada antes de presentar nada por pantalla, ya que los encabezados solo se pueden enviar una vez, revisa

Espero que te sirva para encontrar la solución final... ahora mismo no se me ocurre nada más...
  #14 (permalink)  
Antiguo 15/12/2016, 03:15
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: radio buttom php sql update.

Cita:
Iniciado por rbczgz Ver Mensaje
Hola spark21,

Como te decía, si te fijas en la función return_do, tiene un header("Location:..."), por lo tanto, esta función solo puede ser llamada antes de presentar nada por pantalla, ya que los encabezados solo se pueden enviar una vez, revisa

Espero que te sirva para encontrar la solución final... ahora mismo no se me ocurre nada más...
Creo que sí es llamada al comienzo del archivo (no repetí el comienzo del mismo en otras respuestas pero está en mi primer post), llama a
Código:
require_once("session_start.php");
que contiene
Código:
require_once("functions.php");
:
session_start.php
Código PHP:
// Version information
define("TITLE""PREM");
define("SUBTITLE""Podium race E manager");
define("VERSION""1.1.0");
define("PAGE_DEFAULT""main");
define("PAGE_ERROR""error");
// Comment these if you do not need them:
define("USE_MYSQL"1);
define("USE_LOGIN"1);
#define("USER_MUST_LOGIN", 1);
// Include classes
if(defined("USE_LOGIN")) {
    require_once(
"classes/mysql_login.php");
}
// Start session
session_name("PREM");
session_cache_limiter("private, must-revalidate");
session_start();
// Include main configuration and functions
if(!is_file("config.php")) {
    die(
"PREM is not configured. Please create a config.php or copy config.php.dist to config.php for the default options\n");
}
require_once(
"config.php");
require_once(
"functions.php");
if(
defined("USE_LOGIN")) {
    
// Logged in?
    
if(isset($_SESSION['login']) && $_SESSION['login']->is_loggedin()) {
        
$login $_SESSION['login'];
        
$permissions $login->get_data("permissions");
        
$userid $login->get_data("id");
        
$username $login->username();
    }
}
?> 

P.D: Vaya, acabo de conseguir un avance, en lugar de indicar
Código:
<form action="blocks.php" method="post">
he indicado
Código:
<form action=".?page=blocks" method="post">
Aunque ahora tengo el siguiente error:
Warning: Cannot modify header information - headers already sent by (output started at /htdocs/prem/nav.php:38) in /htdocs/prem/functions.php on line 59

en la línea 59 aparece: header("Location: $dest$msg");
functions.php
Código PHP:
/**
 * return_do function redirects the browser to another page.
 * An added message is optional
 *
 * @param string $dest Page to redirect to
 * @param string $msg Message to be shown in page
 */
function return_do($dest$msg "") {
    if(!empty(
$msg))
        
$msg "&msg=" urlencode($msg);

    
header("Location: $dest$msg");
    exit();

He desactivado el bloque con el botón "No", pero el botton "Yes" no vuelve a cambiar el valor a 1, pudiera ser por el error...

Pongo aquí el código completo blocks.php:

Código PHP:
<? if(!defined("CONFIG")) exit();
if(!isset(
$login)) { show_error("You do not have administrator rights\n"); return; }
require_once(
"session_start.php");
?>

<!--Next events block-->
<?

    mysqlconnect
();

    if (isset(
$_POST['active_next'])) {
    
$query_next "UPDATE blocks SET active='$active_next' WHERE content_file='next_events'";
    
$result_next mysql_query($query_next);
    if (!
$result_nexterror("MySQL Error: ".mysql_error()."\n");

    
return_do(".?page=blocks""activated succesfully modified\n$msg");
}else{ 
?>


        <h1>Next events</h1>
        <form action=".?page=blocks" method="post"> 
        Activate:
      <input type="radio" name="active_next" <?php if (isset($active_next) && $active_next=="1") echo "checked";?> value="1">Yes
      <input type="radio" name="active_next" <?php if (isset($active_next) && $active_next=="0") echo "checked";?> value="0">No
       &nbsp;
       </b> </b> <input type="submit" name="submit" value="Set">
      <br><br> 
    </form>
<? ?>



<!--Last race block-->
<h1>Last race</h1>
<form action="blocks.php" method="post"> 
  Activate:
  <input type="radio" name="active_last" value="1">Yes
  <input type="radio" name="active_last" value="0">No
  &nbsp;</b> </b> <input type="submit" name="submit" value="Set">
  <br><br>
</form>

<!--standings block-->
<h1>Standings block</h1>
<form action="blocks.php" method="post"> 
  Activate:
  <input type="radio" name="active_standings" value="1">Yes
  <input type="radio" name="active_standings" value="0">No
  &nbsp;</b> </b> <input type="submit" name="submit" value="Set">
  <br><br>
  
</form>

<?
    $sql_sp_list 
"SELECT sp.*, s.name FROM standing_pages sp JOIN season s ON (sp.season = s.id) ORDER BY sp.page ASC";
    
$result_sp_list mysql_query($sql_sp_list);
    if(!
$result_sp_list) {
        
show_error("MySQL error: " mysql_error());
        return;
    }
    
?>

<br />
<br />
<a href=".?page=standings_add">Add Standing page</a>
<?
    
if(mysql_num_rows($result_sp_list) == 0) {
        
show_msg("No standings pages found\n");
        return;
    }
?>
    <div class="w3-container">
<table class="w3-table-all">
    <tr class="w3-dark-grey">
        <td>&nbsp;</td>
        <td>Page</td>
        <td>Season</td>
    </tr>

<?

    
while($item mysql_fetch_array($result_sp_list)) {
?>

    <tr class="w3-hover-green">
        <td>
            <a href=".?page=standings_chg&amp;id=<?=$item['id']?>"><img src="images/edit16.png" alt="chg"></a>
            <a href=".?page=standings_rem&amp;id=<?=$item['id']?>"><img src="images/delete16.png" alt="rem"></a>
        </td>
        <td><?=$item['page']?></td>
        <td><?=$item['name']?></td>
    </tr>
    <?
    
}
    
mysql_free_result($result_sp_list)
    
?>
</table>
El error lo he solucionado sustituyendo
Código PHP:
return_do(".?page=blocks""activated succesfully modified\n$msg"); 
por
Código PHP:
return_do
Pero tanto el botón No como el botón Yes, desactivan el bloque, ponen valor 0 en la columna active de la base de datos, tabla blocks.
Yo diría que $active_next está vacío siempre, por tanto registra un 0 cuando hace UPDATE blocks SET active='$active_next'.
No está cogiendo el valor del radiobutton, sospecho que porque se ejecuta antes el UPDATE que el radiobutton. Ya que si pongo al principio $active_next = 1 mete un 1 en la base de datos, pero al radiobutton no le hace ni caso.

Última edición por spark21; 15/12/2016 a las 06:48
  #15 (permalink)  
Antiguo 15/12/2016, 07:28
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: radio buttom php sql update.

Hola spark21,

Código PHP:
Ver original
  1. <!--Next events block--> ESTA LÍNEA TE SOBRA, POSIBLEMENTE SEA LA CAUSA DEL ERROR, O POR LO MENOS, DE PARTE DE ÉL.
  2. Lo he escrito con mayúsculas para que resalte, nada más.
  3. <?
  4.  
  5.     mysqlconnect();
  6.  
  7.     if (isset($_POST['active_next'])) {
  8.     $query_next = "UPDATE blocks SET active='$active_next' WHERE content_file='next_events'";
  9.     $result_next = mysql_query($query_next);
  10.     if (!$result_next) error("MySQL Error: ".mysql_error()."\n");
  11.  
  12.     return_do(".?page=blocks", "activated succesfully modified\n$msg");
  13. }else{ ?>
  #16 (permalink)  
Antiguo 15/12/2016, 08:25
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: radio buttom php sql update.

Cita:
Iniciado por rbczgz Ver Mensaje
Hola spark21,

Código PHP:
Ver original
  1. <!--Next events block--> ESTA LÍNEA TE SOBRA, POSIBLEMENTE SEA LA CAUSA DEL ERROR, O POR LO MENOS, DE PARTE DE ÉL.
  2. Lo he escrito con mayúsculas para que resalte, nada más.
  3. <?
  4.  
  5.     mysqlconnect();
  6.  
  7.     if (isset($_POST['active_next'])) {
  8.     $query_next = "UPDATE blocks SET active='$active_next' WHERE content_file='next_events'";
  9.     $result_next = mysql_query($query_next);
  10.     if (!$result_next) error("MySQL Error: ".mysql_error()."\n");
  11.  
  12.     return_do(".?page=blocks", "activated succesfully modified\n$msg");
  13. }else{ ?>
Ya he probado sin el html <!--Next events block-->

si incluyo el return_do(".?page=blocks", "activated succesfully modified\n$msg");
vuelve a salirme el error, cuando la quito no hay error.

Necesito que la variable $active_next no esté vacía para que UPDATE blocks SET active='$active_next' ponga el valor dado por el radiobutton.

Sigo probando lo que voy leyendo por ahí también, a ver si doy con el fallo.
  #17 (permalink)  
Antiguo 15/12/2016, 08:34
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: radio buttom php sql update.

Estoy pensando que igual tengo que hacer algo tipo $active_next = "active_next" (el valor dado por el radiobutton)
  #18 (permalink)  
Antiguo 15/12/2016, 09:01
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: radio buttom php sql update.

Hola spark21,

Prueba también la validación así:

Código PHP:
Ver original
  1. if (isset($_POST['active_next']) && !empty($_POST['active_next']) ) {
  2. $active_next = $_POST['active_next'];
  3.     $query_next = "UPDATE blocks SET active=$active_next WHERE content_file='next_events'";
  4.     $result_next = mysql_query($query_next);
  5.     if (!$result_next) error("MySQL Error: ".mysql_error()."\n");

De todas formas, lo que se me había pasado por alto, es la depuración, que es lo primero que deberíamos haber hecho...:

Código PHP:
Ver original
  1. echo "Valor de \$_POST['active_next']: " . $_POST['active_next']; //Aquí vemos si trae algo.
  2.     if (isset($_POST['active_next'])) {
  3.     $active_next = $_POST['active_next']; // Tenemos que asignar la variable $_POST a la variable local
  4.     $query_next = "UPDATE blocks SET active='$active_next' WHERE content_file='next_events'";
  5.     $result_next = mysql_query($query_next);
  6.     if (!$result_next) error("MySQL Error: ".mysql_error()."\n");

En función de lo que te muestre, podremos seguir...

Última edición por rbczgz; 15/12/2016 a las 09:04 Razón: Faltaba código.
  #19 (permalink)  
Antiguo 15/12/2016, 09:33
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: radio buttom php sql update.

Sí, hace un rato pensando en que el problema podría ser que no pillaba el valor del radiobutton hice la prueba con echo "entra"; y lo mostraba. Entonces volví a lo de "¿por qué si pongo a mano la variable al principio del todo $active_next = "1" se activa y si pongo $active_next = "0" se desactiva pero no lo hace con el radiobutton.

Y es cuando he escrito mi anterior mensaje, tengo que definir que valor adopta esa variable.
He estado buscando porque no tenía ni idea de como definir una variable con el valor de un formulario. $active_next = $_POST["active_next"];

Este es el código correcto:
Código PHP:
<?

    mysqlconnect
();

    
$active_next $_POST["active_next"];
    
    if (isset(
$_POST['active_next'])) {
    
$query_next "UPDATE blocks SET active='$active_next' WHERE content_file='next_events'";
    
$result_next mysql_query($query_next);
    if (!
$result_nexterror("MySQL Error: ".mysql_error()."\n");

    
return_do;
}else{ 
?>


        <h1>Next events</h1>
        <form action=".?page=blocks" method="post"> 
        Activate:
      <input type="radio" name="active_next" <?php if (isset($active_next) && $active_next=="1") echo "checked";?> value="1">Yes
      <input type="radio" name="active_next" <?php if (isset($active_next) && $active_next=="0") echo "checked";?> value="0">No
       &nbsp;
       </b> </b> <input type="submit" name="submit" value="Set">
      <br><br> 
    </form>
<? ?>
Muchas gracias por tu paciencia y ayuda enserio, era algo tan tonto como definir la variable para que la consulta obtuviera el valor en SET. Es lo que tiene no saber.

Voy a abrir un post en clasificados colaboradores, a ver si encuentro algunos colaboradores.

Yo administro el proyecto de actualización del sistema con licencia GPL3 y un amigo llevaba la programación, pero por falta de tiempo me quedé yo solo.

Pretende ser un sistema para uso libre para quien quiera montar una liga online de simuladores de carreras, lo que quiero decir es que estamos haciendo esto gratis y no hay remuneración por medio jeje.

Gracias!
  #20 (permalink)  
Antiguo 15/12/2016, 09:57
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: radio buttom php sql update.

Hola spark21,

He tenido un fallo muy grande por no haberme dado cuenta al principio de que no estabas asignando la variable $_POST a la variable local, disculpa por ello, de haberme dado cuenta, lo habríamos resuelto mucho antes...

Suerte con el proyecto, yo no puedo colaborar porque voy muy justo de tiempo y el poco que me queda, lo tengo que rentabilizar, jejeje.

Etiquetas: button, mysql, php+basedatos, radio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:06.