Foros del Web » Programando para Internet » PHP »

mezclar tablas con formularios y bases de datos

Estas en el tema de mezclar tablas con formularios y bases de datos en el foro de PHP en Foros del Web. Hola, He hecho un código que muestra el contenido de una tabla de una base de datos en una tabla de html. Es este, y ...
  #1 (permalink)  
Antiguo 05/08/2009, 15:30
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
mezclar tablas con formularios y bases de datos

Hola,

He hecho un código que muestra el contenido de una tabla de una base de datos en una tabla de html. Es este, y funciona bien:

<?
function muestra($valor) {
?>
<td>
<?= $valor ?>
</td>
<?
}
$link=mysql_connect("localhost","root","");
$c=mysql_select_db(turina,$link);
$r=mysql_query("select * from alumnos",$link);
?>
<table border="1">
<?
echo "<tr>";
muestra("número de matrícula");
muestra ("curso");
muestra("clase");
muestra("nombre");
muestra("primer apellido");
muestra("segundo apellido");

echo "</tr>";
while($t=mysql_fetch_row($r)) {
echo "<tr>";
foreach($t as $valor){
muestra($valor);
}
echo "</tr>";
}
?>
</table>

Ahora querría que no sólo los mostrara, sino que formen parte de un formulario, de manera que no haya más que pinchar en una celda para cambiar un dato cualquiera.

Se trataría de crear un formulario y modificar la función muestra por algo así:

function muestra($valor) {
?>
<td>
<input type ="text" (y aquí es donde viene mi duda)
</td>
<?
}

Detras de input type ="text" viene name y value, y ahí tengo que poner una variable, pero las variables son de php. No sé cómo referenciar los valores de la base de datos ahí. No sé incluso si eso se puede hacer.
  #2 (permalink)  
Antiguo 05/08/2009, 15:36
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Código code:
Ver original
  1. function muestra($valor) {
  2. ?>
  3. <td>
  4. <input type ="text" (y aquí es donde viene mi duda)
  5. </td>
  6. <?
  7. }


No podes poner eso asi...... eso PHP no puede evaluarlo o sea... no va a poner ese HTML cuando llames a la funcion y la funcion te quedó vacia

Quizas algo asi....... si

Código asi:
Ver original
  1. function muestra($valor) {
  2. return "
  3. <td>
  4. <input type =\"text\"  name=\"$valor\" />
  5. </td>";
  6. }

dentro de la funcion iria RETURN o ECHO segun lo que hagas despues
__________________
Salu2!

Última edición por GatorV; 05/08/2009 a las 22:25
  #3 (permalink)  
Antiguo 06/08/2009, 04:11
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
He sustituido mi función muestra por la tuya y no sae nada. No entiendo la explicación.

He hecho este código, y me muestra bien los valores en la tabla, el caso es que no me muestra todos los campos, sino el primero, el tercero y el quinto. Cuando se soluciona un problema aparece otro. Voy a abrir otro tema con ese problema para no mezclar.

<html>
<?
function muestra($valor) {
?>
<td>
<input type = "text name=<? echo $valor ?> value=<?echo $valor ?> >
</td>
<?
}
$link=mysql_connect("localhost","root","");
$c=mysql_select_db(turina,$link);
$r=mysql_query("select * from alumnos",$link);
?>
<table border="1">
<?
while($t=mysql_fetch_row($r)) {
echo "<tr>";
foreach($t as $valor){
muestra($valor);
}
echo "</tr>";
}
?>
</table>
</html>

Última edición por GatorV; 06/08/2009 a las 07:34
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 04:15.