Formulario de carga de PHP avanzado [cerrado]
Frecuentes
Visto 177 equipos
0
La tabla MySQL se ve así:
Aquí está el código de la salida:
<li>
<a class="thumb" href="library/<?php echo $row2['projectname']; ?>/<?php echo $row2['projectrecordnum']; ?>.<?php echo $row2['projectformat']; ?>" title="<?php echo $row2['projectrecordtitle']; ?>">
<img src="library/<?php echo $row2['projectname']; ?>/thumbs/<?php echo $row2['projectrecordnum']; ?>.<?php echo $row2['projectformat']; ?>" alt="<?php echo $row2['projectrecordtitle']; ?>" />
</a>
<div class="caption">
<div class="image-title"><?php echo $row2['projectrecordtitle']; ?></div>
<div class="image-desc"><?php echo $row2['projectrecorddesc']; ?></div>
<div class="download">
<a href="library/<?php echo $row2['projectname']; ?>/<?php echo $row2['projectrecordnum']; ?>.<?php echo $row2['projectformat']; ?>" target="_blank">Download Original</a>
</div>
</div>
</li>
Así es como se ve la salida:
<li>
<a class="thumb" href="library/ultima/2.jpg" title="Timbo DISPLACED">
<img src="library/ultima/thumbs/2.jpg" alt="Timbo DISPLACED" />
</a>
<div class="caption">
<div class="image-title">Timbo DISPLACED</div>
<div class="image-desc">Made in 3ds Max, background, color and lens flare from Photoshop</div>
<div class="download">
<a href="library/ultima/2.jpg" target="_blank">Download Original</a>
</div>
</div>
</li>
Mi problema es que no puedo encontrar una forma de crear un formulario que cree una cantidad de campos que el usuario desea; luego carga y escribe la información de cada archivo en una base de datos mysql (recuerde que la cantidad de archivos no es definitiva).
1 Respuestas
1
No es realmente una pregunta específica, sin embargo, intentaré proporcionarle un punto de partida.
Supongo que aún no tienes un formulario...
Para su información: no te importa escapar de tu salida con htmlentities()
¡o algo similar!
1) Utilicé datos ficticios, pero puede reemplazarlos con el conjunto de resultados de la base de datos asociativa:
$rows = array(
array( 'projectname' => 'ultima',
'projectrecordnum' => '1',
'projectrecordtitle' => 'The ball of destruction'),
array( 'projectname' => 'ultima',
'projectrecordnum' => '2',
'projectrecordtitle' => 'Timbo DISPLACED'),
array( 'projectname' => 'ultima',
'projectrecordnum' => '3',
'projectrecordtitle' => 'Exposure')
);
2) Creé un formulario HTML simple en bucle por PHP en los resultados:
<form method="post" action="#">
<?php foreach( $rows as $row ) { ?>
<div class="caption">
<div class="">
<input type="text" name="projectname[]" value="<?php echo $row['projectname']; ?>">
</div>
<div class="">
<input type="text" name="projectrecordnum[]" value="<?php echo $row['projectrecordnum']; ?>">
</div>
<div class="">
<input type="text" name="projectrecordtitle[]" value="<?php echo $row['projectrecordtitle']; ?>">
</div>
<?php /* and so more fields ... */ ?>
</div>
<hr />
<?php } ?>
<input type="submit" name="send" value="send" />
</form>
3) Y en el action
puedes reconstruir tu $rows
formación:
if( isset($_REQUEST['send']) ) {
$rows = array();
for( $i = 0; $i < count( $_POST['projectname'] ); $i++) {
$row = array(
'projectname' => $_POST['projectname'][$i],
'projectrecordnum' => $_POST['projectrecordnum'][$i],
'projectrecordtitle' => $_POST['projectrecordtitle'][$i],
);
if( ! empty( $_POST['projectname'][$i] ) ) {
array_push( $rows, $row );
}
unset($row);
}
// Your data array...
print '<pre>'. print_r($rows, true) . '</pre>';
}
Respondido 31 Jul 12, 15:07
¡Gracias por responder! Fue bastante útil. Pero me malinterpretaste un poco. El número de campos debe ser definido por el usuario, no por las filas disponibles. Y - Timbo_KZ
Mmm... y que pasa si el usuario ingresa un campo que no coincide con una columna en la tabla de la base de datos? - fabio mora
Encontré una solución: ¡los bucles while! - Timbo_KZ
¿Cuál es exactamente tu problema? ¿Cómo está tu
form
¿parece? - PeonActualmente solo contiene información principal como el nombre del proyecto, el nombre para mostrar del proyecto, el formato del proyecto, el comentario del proyecto, la información del proyecto: Timbo_KZ
Entonces, ¿quiere un sistema que cree una cantidad desconocida/conjunto de contenido arbitrario de campos de formulario y maneje esos campos de quién sabe qué en una base de datos? - Marc B