PHP Casilla Ayuda

  • jordonshaw
  • Student
  • Student
  • Avatar de Usuario
  • Registrado: Dic 30, 2008
  • Mensajes: 91
  • Loc: Tennessee
  • Status: Offline

Nota Diciembre 30th, 2008, 11:01 am

Ok, Im nuevo a PHP; sin embargo, Im recoger rápidamente. Necesito ayuda con la acción de la secuencia de comandos de una forma que Im que desarrollar. Mejorar el desarrollo de una forma que no es más que una casilla de verificación para seleccionar algo, cuando haya finalizado. Así, los elementos que deben ser acabados son estáticos y ya tengo la forma completa.

Im que lo que quieren hacer es con mi forma abierta, selecciono que he terminado de 3 cosas y haga clic en la casilla de verificación que el tema está acabado. Cuando haga clic en la casilla y haga clic en Guardar, es puesto a 1 en la base de datos para ese campo y todas las demás casillas de verificación que no se establecen a NULL. Ahora, la próxima vez que abra esa forma, puedo ver todos los artículos que han sido verificados y los que no ha sido revisada, sobre la base de si hay un 1 o un 0 en la base de datos para ese tema.

Cualquier ayuda sería muy apreciada!

Gracias,
Jordon Shaw
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Diciembre 30th, 2008, 11:01 am

  • Bogey
  • Bogey
  • Genius
  • Avatar de Usuario
  • Registrado: Jul 14, 2005
  • Mensajes: 8211
  • Loc: USA
  • Status: Offline

Nota Diciembre 30th, 2008, 12:40 pm

Supongo que usted ya sabe cómo establecer la base de datos y cómo conectarse y cómo recuperar la información. Yo iba de aquí para decirle / informarle de cómo se podría lograr esto.

¿Qué Im usando aquí es un operador ternario. Básicamente, una línea en caso de declaración / otra cosa que se utiliza sobre todo para definir variables.

Aquí está el operador ternario y un si por un lado / por otro lado, en términos descriptivos.

(( si )? entonces : );

( si )
(
entonces
)
algo más
(
algo más
)

La parte "si" es la validación que está haciendo (por ejemplo, is_null ( $ variable ))

Las palabras en negrita en los dos ejemplos a lo largo de ir en el mismo lugar (función-wise). Creo que entiendes lo que es. Esperemos :)

Código: [ Select ]
<?php
/*
  * Checking which of the boxes were checked.
  * If the checkbox is  null, than it's empty, if it's not not, then it was checked.
  * Makes the variable '0' if not checked and '1' if checked.
  * Using the ternary operator to do this.
  *
  * Assuming that the checkboxes are named checkbox1, checkbox2, ...
  */
$checkbox1 = ((is_null($_POST['checkbox1'])) ? 0 : 1);
$checkbox2 = ((is_null($_POST['checkbox2'])) ? 0 : 1);
$checkbox3 = ((is_null($_POST['checkbox3'])) ? 0 : 1);
 
// The SQL to update the table in the database named 'table_name'
$sql = "UPDATE table_name SET checkbox1 = {$checkbox1}, checkbox2 = {$checkbox2}, checkbox3 = {$checkbox3}";
// The mysql query that carries out the sql and setting the variable to true if it's successfull
$process = mysql_query($sql) or die(mysql_error());
// Checking if the query was made successfully.
if($process)
{
    // The query was successfull. Print the following text in the browser.
    echo "table_name was updated successfully";
}
?>
  1. <?php
  2. /*
  3.   * Checking which of the boxes were checked.
  4.   * If the checkbox is  null, than it's empty, if it's not not, then it was checked.
  5.   * Makes the variable '0' if not checked and '1' if checked.
  6.   * Using the ternary operator to do this.
  7.   *
  8.   * Assuming that the checkboxes are named checkbox1, checkbox2, ...
  9.   */
  10. $checkbox1 = ((is_null($_POST['checkbox1'])) ? 0 : 1);
  11. $checkbox2 = ((is_null($_POST['checkbox2'])) ? 0 : 1);
  12. $checkbox3 = ((is_null($_POST['checkbox3'])) ? 0 : 1);
  13.  
  14. // The SQL to update the table in the database named 'table_name'
  15. $sql = "UPDATE table_name SET checkbox1 = {$checkbox1}, checkbox2 = {$checkbox2}, checkbox3 = {$checkbox3}";
  16. // The mysql query that carries out the sql and setting the variable to true if it's successfull
  17. $process = mysql_query($sql) or die(mysql_error());
  18. // Checking if the query was made successfully.
  19. if($process)
  20. {
  21.     // The query was successfull. Print the following text in the browser.
  22.     echo "table_name was updated successfully";
  23. }
  24. ?>

Me comentó el código dice lo que hace.

Im bastante seguro de que esto iba a funcionar, aunque no he probado. Obviamente, usted necesita estar conectado a la base de datos SQL que está utilizando y la base de datos seleccionada antes de poder utilizar la mysql_query (); función.

Buena suerte
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • jordonshaw
  • Student
  • Student
  • Avatar de Usuario
  • Registrado: Dic 30, 2008
  • Mensajes: 91
  • Loc: Tennessee
  • Status: Offline

Nota Diciembre 30th, 2008, 2:19 pm

Muchas gracias por su ayuda! Voy a tratar de que a ver si funciona y le permiten saber! Que sé cómo hacer la conexión a SQL y todo así. Todavía estamos aprendiendo, pero su gran va hasta ahora. Php me encanta! :D
  • jordonshaw
  • Student
  • Student
  • Avatar de Usuario
  • Registrado: Dic 30, 2008
  • Mensajes: 91
  • Loc: Tennessee
  • Status: Offline

Nota Enero 23rd, 2009, 2:26 pm

Este código no trabajo. Cada vez que seleccione una casilla de verificación y pulsa guardar, puesto que hace un 1 en el campo si su cheque, sino que también enviar un 0 si no su control. Thats de trabajo de manera perfecta!

La segunda parte de esto es cuando voy a la página, yo quiero que el PP y pregunta si hay un 1, entonces se debe mostrar que la revise. Esta pieza no está funcionando con este código que me han dado.

Im seguro de que yo seguro de que voy a utilizar a continuación un caso de declaración con una pregunta, pero Im que no es precisamente positiva cómo hacerlo. Si usted me puede ayudar con eso, que sería impresionante!

Gracias,
Jordon
  • Bogey
  • Bogey
  • Genius
  • Avatar de Usuario
  • Registrado: Jul 14, 2005
  • Mensajes: 8211
  • Loc: USA
  • Status: Offline

Nota Enero 23rd, 2009, 2:59 pm

Muy bien. A partir de aquí, sería fácil. Aquí está el código comentado para que supiera lo que su hacer.
PHP Código: [ Select ]
<?php
// Example values
$row = array();
$row['checkbox1'] = 1;
$row['checkbox2'] = 0;
$row['checkbox3'] = 1;
 
// Checking if checkbox has a 1... if so, put the HTML attribute to checked="checked" otherwise make the variable null (empty)
$checkbox1 = (($row['checkbox1'] == 1) ? ' checked="checked"' : null);
$checkbox2 = (($row['checkbox2'] == 1) ? ' checked="checked"' : null);
$checkbox3 = (($row['checkbox3'] == 1) ? ' checked="checked"' : null);
 
// Setting the HTML with the variables in place
$html = <<<EOT
Checkbox 1: <input type="checkbox" name="checkbox1"$checkbox1 /><br />
Checkbox 2: <input type="checkbox" name="checkbox2"$checkbox2 /><br />
Checkbox 3: <input type="checkbox" name="checkbox3"$checkbox3 />
EOT;
 
// Echoing the HTML
echo $html;
?>
  1. <?php
  2. // Example values
  3. $row = array();
  4. $row['checkbox1'] = 1;
  5. $row['checkbox2'] = 0;
  6. $row['checkbox3'] = 1;
  7.  
  8. // Checking if checkbox has a 1... if so, put the HTML attribute to checked="checked" otherwise make the variable null (empty)
  9. $checkbox1 = (($row['checkbox1'] == 1) ? ' checked="checked"' : null);
  10. $checkbox2 = (($row['checkbox2'] == 1) ? ' checked="checked"' : null);
  11. $checkbox3 = (($row['checkbox3'] == 1) ? ' checked="checked"' : null);
  12.  
  13. // Setting the HTML with the variables in place
  14. $html = <<<EOT
  15. Checkbox 1: <input type="checkbox" name="checkbox1"$checkbox1 /><br />
  16. Checkbox 2: <input type="checkbox" name="checkbox2"$checkbox2 /><br />
  17. Checkbox 3: <input type="checkbox" name="checkbox3"$checkbox3 />
  18. EOT;
  19.  
  20. // Echoing the HTML
  21. echo $html;
  22. ?>

Esperamos que esta ayuda y tiene sentido
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • jordonshaw
  • Student
  • Student
  • Avatar de Usuario
  • Registrado: Dic 30, 2008
  • Mensajes: 91
  • Loc: Tennessee
  • Status: Offline

Nota Enero 23rd, 2009, 3:09 pm

Ok, tal vez Im no comprender plenamente. Déjame mostrarte mi código y si me puede decir donde poner lo que en si hay que tirar de la casilla de verificación tiene un 1 para que lo revise y luego también me permite marcar la casilla y después a 1 si marca él. De esta manera usted puede ver mi varibles.

Código: [ Select ]
<?php
    $connection = mssql_connect(DB_SERVER, DB_USER, DB_PASS);
        if(!$connection)
        {
        die('Something went wrong while connecting to MSSQL');
        }
    $db_select = mssql_select_db(DB_NAME, $connection);
    if (!$db_select){
        die("Database selection failed");
    }
?>
<?php
$checkbox1 = ((is_null($_POST['checkbox1'])) ? 0 : 1);
$checkbox2 = ((is_null($_POST['checkbox2'])) ? 0 : 1);
$checkbox3 = ((is_null($_POST['checkbox3'])) ? 0 : 1);
 
 
$sql = "UPDATE checkbox SET checkbox1 = {$checkbox1}, checkbox2 = {$checkbox2}, checkbox3 = {$checkbox3}";
$process = mssql_query($sql) or die(mssql_error());
 
if($process)
{
    echo "Checkbox was updated successfully";
}
?>
  1. <?php
  2.     $connection = mssql_connect(DB_SERVER, DB_USER, DB_PASS);
  3.         if(!$connection)
  4.         {
  5.         die('Something went wrong while connecting to MSSQL');
  6.         }
  7.     $db_select = mssql_select_db(DB_NAME, $connection);
  8.     if (!$db_select){
  9.         die("Database selection failed");
  10.     }
  11. ?>
  12. <?php
  13. $checkbox1 = ((is_null($_POST['checkbox1'])) ? 0 : 1);
  14. $checkbox2 = ((is_null($_POST['checkbox2'])) ? 0 : 1);
  15. $checkbox3 = ((is_null($_POST['checkbox3'])) ? 0 : 1);
  16.  
  17.  
  18. $sql = "UPDATE checkbox SET checkbox1 = {$checkbox1}, checkbox2 = {$checkbox2}, checkbox3 = {$checkbox3}";
  19. $process = mssql_query($sql) or die(mssql_error());
  20.  
  21. if($process)
  22. {
  23.     echo "Checkbox was updated successfully";
  24. }
  25. ?>


Por supuesto que define las conexiones con DB_SERVER, DB_USER, DB_PASS, DB_NAME

Entonces, ¿qué te parece?
  • Bogey
  • Bogey
  • Genius
  • Avatar de Usuario
  • Registrado: Jul 14, 2005
  • Mensajes: 8211
  • Loc: USA
  • Status: Offline

Nota Enero 23rd, 2009, 3:27 pm

El código que te di arriba es para mostrar lo que tienes que hacer cuando se va a recuperar la información. Ahora, puedes copiar y pegar este código PHP en un documento, guardarlo y ejecutarlo y verás tres casillas de verificación, con dos que tiene un 1 son controladas y el que tiene un 0 no se comprueba...

Aquí es cómo lo haría usando mysql. (Aunque usted está usando MSSQL, nunca he usado esa base de datos, así que no puedo decir por ahí, aunque supongo que el código sería casi el mismo).

PHP Código: [ Select ]
<?php
mysql_connect($host, $user, $pass);
mysql_select_database($dbname);
 
$sql = 'SELECT * FROM checkbox';
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
 
$checkbox1 = (($row['checkbox1'] == 1) ? ' checked="checked"' : null);
$checkbox2 = (($row['checkbox2'] == 1) ? ' checked="checked"' : null);
$checkbox3 = (($row['checkbox3'] == 1) ? ' checked="checked"' : null);
 
// Setting the HTML with the variables in place
$html = <<<EOT
Checkbox 1: <input type="checkbox" name="checkbox1"$checkbox1 /><br />
Checkbox 2: <input type="checkbox" name="checkbox2"$checkbox2 /><br />
Checkbox 3: <input type="checkbox" name="checkbox3"$checkbox3 />
EOT;
 
// Echoing the HTML
echo $html;
?>
  1. <?php
  2. mysql_connect($host, $user, $pass);
  3. mysql_select_database($dbname);
  4.  
  5. $sql = 'SELECT * FROM checkbox';
  6. $result = mysql_query($sql);
  7. $row = mysql_fetch_assoc($result);
  8.  
  9. $checkbox1 = (($row['checkbox1'] == 1) ? ' checked="checked"' : null);
  10. $checkbox2 = (($row['checkbox2'] == 1) ? ' checked="checked"' : null);
  11. $checkbox3 = (($row['checkbox3'] == 1) ? ' checked="checked"' : null);
  12.  
  13. // Setting the HTML with the variables in place
  14. $html = <<<EOT
  15. Checkbox 1: <input type="checkbox" name="checkbox1"$checkbox1 /><br />
  16. Checkbox 2: <input type="checkbox" name="checkbox2"$checkbox2 /><br />
  17. Checkbox 3: <input type="checkbox" name="checkbox3"$checkbox3 />
  18. EOT;
  19.  
  20. // Echoing the HTML
  21. echo $html;
  22. ?>

Eso es todo para ella. Yo no sé lo que no entiendo de eso.

Todo lo que el código hace es agregar el atributo si CheckBox1 es igual a "1" que añadir el atributo checked = "checked" para el código HTML, de lo contrario, no la añada.

Esto es para trabajar al lado de la primera pieza de código que le di a actualizar las casillas de verificación...Esto no es un conjunto diferente de código para reemplazarlo...esto es extenderla.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • jordonshaw
  • Student
  • Student
  • Avatar de Usuario
  • Registrado: Dic 30, 2008
  • Mensajes: 91
  • Loc: Tennessee
  • Status: Offline

Nota Enero 23rd, 2009, 3:45 pm

Que funcionó a la perfección! Muchas gracias por su ayuda!

Jordon
  • jordonshaw
  • Student
  • Student
  • Avatar de Usuario
  • Registrado: Dic 30, 2008
  • Mensajes: 91
  • Loc: Tennessee
  • Status: Offline

Nota Enero 23rd, 2009, 4:12 pm

Bueno, en primer lugar quiero decir que estoy muy agradecidos por esta ayuda. Ahora, quisiera expresar en este proyecto un poco. Básicamente lo que Im que es la creación de la red que me permite comprobar un paso cuando Im que el desarrollo de las clases. Se parece a esto cuando el hecho: http://www.shawhome.net/cms/test/grid.html

Como puede ver, hay muchas casillas de verificación de aquí, así que estaba tratando de hacer esto con la menor cantidad de código posible. Lo que yo estaba pensando sólo es posterior a la base de datos a 1 si su comprobado y no tiene nada en él si no su control. Si desmarca y, a continuación, cambiar el 1 a 0, ya que el registro ya existe.

Por lo tanto, tengo dos tablas, y Casilla de verificación del curso. Mi cuadro course_id curso y course_name. La casilla de verificación del cuadro ck_id, course_id, value_name, marcada.

Entonces, ¿qué estaba pensando es que al hacer clic en guardar, puesto que la course_id, sobre la base de cualquier supuesto que ha seleccionado, entonces el puesto value_name, como checkbox1 o checkbox50 y, a continuación, comprobará si su puesto es de 1 .

Cada vez que vuelve a cargar de nuevo ese camino, entonces se mostrarán todas las casillas que tienen un 1 en la casilla de verificación tabla.

¿Esto suena como un buen método y, en caso afirmativo, ¿puede ayudar a cualquiera con el código?

Gracias,
Jordon Shaw
  • Bogey
  • Bogey
  • Genius
  • Avatar de Usuario
  • Registrado: Jul 14, 2005
  • Mensajes: 8211
  • Loc: USA
  • Status: Offline

Nota Febrero 5th, 2009, 9:11 pm

Bueno, yo iba a sugerir al código, pero parece que han hecho algo...tal vez usted acaba de cambiar el código HTML, sino...sea lo que sea :lol:
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • jordonshaw
  • Student
  • Student
  • Avatar de Usuario
  • Registrado: Dic 30, 2008
  • Mensajes: 91
  • Loc: Tennessee
  • Status: Offline

Nota Febrero 5th, 2009, 9:44 pm

En realidad, he cambiado ese vínculo, ya no es válida. No quiero establecer una relación de aquí, ya que permitiría un enlace para enviar a nadie a mi base de datos, ahora que tengo la mayoría de los que trabajan.

Yo apreciamos tu ayuda!

Jordon
  • Bogey
  • Bogey
  • Genius
  • Avatar de Usuario
  • Registrado: Jul 14, 2005
  • Mensajes: 8211
  • Loc: USA
  • Status: Offline

Nota Febrero 5th, 2009, 10:37 pm

Bien...bueno. Me alegra saber que :D De nada.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • Thunx1
  • Born
  • Born
  • No Avatar
  • Registrado: Ago 15, 2009
  • Mensajes: 1
  • Status: Offline

Nota Agosto 15th, 2009, 6:14 pm

Hola Sé que es muy tarde y todavía esperamos que navegar, pero, ¿cuál es la configuración de MySQL que utilice en este, con un tiempo difícil averiguar cómo configurar la base de datos, me refiero a ¿cómo se mira la tabla :P
  • Bogey
  • Bogey
  • Genius
  • Avatar de Usuario
  • Registrado: Jul 14, 2005
  • Mensajes: 8211
  • Loc: USA
  • Status: Offline

Nota Agosto 16th, 2009, 10:29 pm

«Fila» está casilla de verificación int .
"Bring forth therefore fruits meet for repentance:" Matthew 3:8

Publicar Información

  • Total de mensajes en este tema: 14 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 187 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC