Pregunta

Por el momento mi código se ve así:

# Assign values for saving to the db
$data = array(
    'table_of_contents' => 

Por el momento mi código se ve así:

<*>

Sin embargo, esto conduciría a un sinfín de declaraciones ... Incluso con la sintaxis ternaria, todavía es complicado. ¿Hay una mejor manera?

POST['table_of_contents'], 'length' =>

Por el momento mi código se ve así:

<*>

Sin embargo, esto conduciría a un sinfín de declaraciones ... Incluso con la sintaxis ternaria, todavía es complicado. ¿Hay una mejor manera?

POST['length'] ); # Check for fields that may not be set if ( isset(

Por el momento mi código se ve así:

<*>

Sin embargo, esto conduciría a un sinfín de declaraciones ... Incluso con la sintaxis ternaria, todavía es complicado. ¿Hay una mejor manera?

POST['lossless_copy']) ) { $data = array( 'lossless_copy' =>

Por el momento mi código se ve así:

<*>

Sin embargo, esto conduciría a un sinfín de declaraciones ... Incluso con la sintaxis ternaria, todavía es complicado. ¿Hay una mejor manera?

POST['lossless_copy'] ); } // etc.

Sin embargo, esto conduciría a un sinfín de declaraciones ... Incluso con la sintaxis ternaria, todavía es complicado. ¿Hay una mejor manera?

¿Fue útil?

Solución

¿Qué tal esto?

// this is an array of default values for the fields that could be in the POST
$defaultValues = array(
    'table_of_contents' => '',
    'length' => 25,
    'lossless_copy' => false,
);
$data = array_merge($defaultValues, 

¿Qué tal esto?

<*>

array_merge () fusionará los valores, haciendo que los valores posteriores anulen los anteriores.

Si no desea confiar en array_merge () , puede hacer un bucle foreach () .

POST); // $data is now the post with all the keys set

array_merge () fusionará los valores, haciendo que los valores posteriores anulen los anteriores.

Si no desea confiar en array_merge () , puede hacer un bucle foreach () .

Otros consejos

Puede crear una matriz de campos opcionales:

$optional = array('lossless_copy', 'bossless_floppy', 'foo');
foreach ($optional as $field) {
    if (isset(

Puede crear una matriz de campos opcionales:

<*>POST[$field])) { $data[$field] =

Puede crear una matriz de campos opcionales:

<*>POST[$field]; } }
foreach (
$fields = array();
$table  = 'Current_Table';

// we are not using mysql_list_fields() as it is deprecated
$query  = "SHOW COLUMNS from {$table}";
$result = mysql_query($query);
while ($get = mysql_fetch_object($result) ) {
  $fields[] = $get->Field;
}

foreach($fields as $field) {
  if (isset(
foreach (<*>

¡recuerda desinfectar tus valores de $ _POST!

edit : si está buscando hacer coincidir valores opcionales de $ _POST con campos que pueden o no existir en su tabla, podría hacer algo como esto (supongo que usando mysql):

<*>POST as $key => $value) { $data[$key] = $value; }

¡recuerda desinfectar tus valores de $ _POST!

edit : si está buscando hacer coincidir valores opcionales de $ _POST con campos que pueden o no existir en su tabla, podría hacer algo como esto (supongo que usando mysql):

<*>POST[$field]) ) { $data[$field] =
foreach (<*>

¡recuerda desinfectar tus valores de $ _POST!

edit : si está buscando hacer coincidir valores opcionales de $ _POST con campos que pueden o no existir en su tabla, podría hacer algo como esto (supongo que usando mysql):

<*>POST as $key => $value) { $data[$key] = $value; }

¡recuerda desinfectar tus valores de $ _POST!

edit : si está buscando hacer coincidir valores opcionales de $ _POST con campos que pueden o no existir en su tabla, podría hacer algo como esto (supongo que usando mysql):

<*>POST[$field]; } }

¡recuerda desinfectar tus valores de $ _POST!

edit : si está buscando hacer coincidir valores opcionales de $ _POST con campos que pueden o no existir en su tabla, podría hacer algo como esto (supongo que usando mysql):

<*>POST as $key => $value) { $data[$key] = $value; }

¡recuerda desinfectar tus valores de $ _POST!

edit : si está buscando hacer coincidir valores opcionales de $ _POST con campos que pueden o no existir en su tabla, podría hacer algo como esto (supongo que usando mysql):

<*>
$formfields = <*>

Esto agregará todos los campos que se devuelven, incluido el envío. Si necesita saber si una casilla de verificación no ha sido marcada, deberá usar un código como el que publicó. Si solo le interesan las casillas de verificación que están marcadas, puede usar el código anterior.

Esto probablemente no funcionaría para múltiples campos de formulario con el mismo nombre, como botones de radio.

EDITAR: usa el código de Owen, es más limpio, el mío es una versión más detallada de lo mismo.

POST; $data = array(); foreach(array_keys($formfields) as $fieldname){ $data[$fieldname] = <*>

Esto agregará todos los campos que se devuelven, incluido el envío. Si necesita saber si una casilla de verificación no ha sido marcada, deberá usar un código como el que publicó. Si solo le interesan las casillas de verificación que están marcadas, puede usar el código anterior.

Esto probablemente no funcionaría para múltiples campos de formulario con el mismo nombre, como botones de radio.

EDITAR: usa el código de Owen, es más limpio, el mío es una versión más detallada de lo mismo.

POST[$fieldname]; }

Esto agregará todos los campos que se devuelven, incluido el envío. Si necesita saber si una casilla de verificación no ha sido marcada, deberá usar un código como el que publicó. Si solo le interesan las casillas de verificación que están marcadas, puede usar el código anterior.

Esto probablemente no funcionaría para múltiples campos de formulario con el mismo nombre, como botones de radio.

EDITAR: usa el código de Owen, es más limpio, el mío es una versión más detallada de lo mismo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top