Foros del Web » Programando para Internet » PHP »

Hay forma de hacer esto?

Estas en el tema de Hay forma de hacer esto? en el foro de PHP en Foros del Web. Tengo unos campos en una base de datos, que se llaman: campo1, campo2, campo3, campo4, etc. Hay forma de hacer esto? (ver letra en negrita): ...
  #1 (permalink)  
Antiguo 15/12/2008, 10:57
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 11 años, 3 meses
Puntos: 1
Hay forma de hacer esto?

Tengo unos campos en una base de datos, que se llaman: campo1, campo2, campo3, campo4, etc.

Hay forma de hacer esto? (ver letra en negrita):

$querydb = mysql_query("SELECT * FROM dbase") or die("Error en query:".mysql_error() );
if(mysql_num_rows($querydb) > 0){
$row = mysql_fetch_array($querydb);
for($i<1;$i<=16;$i++) {
echo $row['campo[$i]'];
}
}

Para empezar ya he visto que así no funciona, y he probado de mil formas más y tampoco. Hay alguna forma posible de hacerlo?

Gracias y un saludo.
  #2 (permalink)  
Antiguo 15/12/2008, 11:00
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 11 años, 4 meses
Puntos: 416
Respuesta: Hay forma de hacer esto?

Editado:
Seria algo como:
echo $row["campo$i"];

Revisa a ver si asi te funciona.

Última edición por Ronruby; 15/12/2008 a las 11:08 Razón: Ahora si funciona
  #3 (permalink)  
Antiguo 15/12/2008, 11:01
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 15 años
Puntos: 34
Respuesta: Hay forma de hacer esto?

<?= $row['campo'.$i];?>
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #4 (permalink)  
Antiguo 15/12/2008, 11:02
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Hay forma de hacer esto?

Genial! No exactamente me funcionaba así (daba error), pero así sí:
echo $row["campo$i"];

Gracias!
  #5 (permalink)  
Antiguo 15/12/2008, 11:03
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 11 años, 4 meses
Puntos: 105
Respuesta: Hay forma de hacer esto?

ummm no, yo creo que el error son las comillas.... ya que lo toma como una cadena.

recuerda que es mejor usa comillas dobles que simples para mostrar variables.

es decir, en vez de:
echo $row['campo[$i]'];

pon asi nomas:
echo $row["campo$i"];

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #6 (permalink)  
Antiguo 15/12/2008, 11:05
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 11 años, 4 meses
Puntos: 416
Respuesta: Hay forma de hacer esto?

Cita:
Iniciado por Chechux Ver Mensaje
Genial! No exactamente me funcionaba así (daba error), pero así sí:
echo $row["campo$i"];

Gracias!
Oh si tienes razon. No funcionaba, disculpa.
  #7 (permalink)  
Antiguo 15/12/2008, 11:25
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Hay forma de hacer esto?

Muchas gracias a todos : D

Ahora me veo en el "mismo caso" dentro de la consulta de sql, llevo hechas mil pruebas y una y no lo consigo. El caso ahora es así:

$querydb2 = mysql_query("UPDATE dbase SET campo$i='1'") or die("Error en query:".mysql_error() );

Cómo pongo eso y disculpen por mi patosidad....?
  #8 (permalink)  
Antiguo 15/12/2008, 12:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Hay forma de hacer esto?

Mmmm que error te da eso? En si es correcto, no veo porque te deberia de fallar.

Saludos.
  #9 (permalink)  
Antiguo 15/12/2008, 12:22
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Hay forma de hacer esto?

Buenas GatorV!

Me da esto:

Error en query:Unknown column 'campo' in 'field list'

Es decir, no lo toma todo como (campo$i), sólo está cogiendo el texto sin la variable parece ser.

Un saludo
  #10 (permalink)  
Antiguo 15/12/2008, 12:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Hay forma de hacer esto?

Tienes definida la variable $i?, ya que al parecer no la tienes definida por ningun lado..

Saludos.
  #11 (permalink)  
Antiguo 15/12/2008, 13:02
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Hay forma de hacer esto?

Vaya... para una vez que hacía las cosas "bien"... me encuentro con que he metido la pata por otro lado. Jo no me aclaro. Comento lo que quiero hacer y si alguien quiere y tiene tiempo para ayudarme se lo agradezco. Lo que quiero hacer es buscar en los registros de una base de datos, donde los campos se llaman campo1, campo2, campo3... hasta campo16. Y en el primer registro que encuentre vacío, que lo modifique a un valor y deje de ejecutar código. De modo que :

$querydb = mysql_query("SELECT * FROM dbase") or die("Error en query:".mysql_error() ); // Busco en la base de datos.
$row = mysql_fetch_array($querydb);

for($i<1;$i<=16;$i++) {
if(empty($row["campo$i"])) {
$querydb2 = mysql_query("UPDATE dbase SET reino$i='Valor'") or die("Error en query:".mysql_error() );
exit; // Una vez modificado, que deje de ejecutar código.
}
}

Y entonces ahí me da ese error. Sin embargo si quito el querydb2 y el exit, y en su lugar pongo un echo $i; si que devuelve los valores en los que estamos. (El primer $i sería en el que habría un campoX vacío)

No sé si me explico.... Gracias y un saludo, y disculpen de nuevo mi torpeza U_U
  #12 (permalink)  
Antiguo 15/12/2008, 13:50
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 11 años, 4 meses
Puntos: 105
Respuesta: Hay forma de hacer esto?

2 cosas:

1. cambia for($i<1;$i<=16;$i++) { por for($i=1;$i<=16;$i++) {

2. ya eres algo antiguo en el foro y debes saber que para crear un problema tuyo debes crear otro hilo.... este ha habia acabo y lo haces seguir.....
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
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 15:01.