Foros del Web » Programando para Internet » PHP »

ayuda con un bucle para generar un query

Estas en el tema de ayuda con un bucle para generar un query en el foro de PHP en Foros del Web. primeramente un saludo a la banda programadora del foro bueno ps aqui me tienen para solicitarles un paro... (ayuda) resulta que tengo un formulario que ...
  #1 (permalink)  
Antiguo 28/11/2005, 14:32
 
Fecha de Ingreso: abril-2005
Mensajes: 5
Antigüedad: 12 años, 8 meses
Puntos: 0
ayuda con un bucle para generar un query

primeramente un saludo a la banda programadora del foro bueno ps aqui me tienen para solicitarles un paro... (ayuda)
resulta que tengo un formulario que es llenado con una consulta para hacer unos cambios a un solo campo el formulario y la forma estan trabajando como debe ser. cuando envio esos cambios de los registros que se desean modificar pues tengo un snniplet que me convierte todos los post a variables.

pero como genero un while o un for para que me excute el query para ingresar el cambio.

les pongo un poco del codigo porque aunque ya hace lo que deseo que haga pues se hizo bastante largo y tiene limite 50
conversion de variables
Código PHP:
//este me recibe todas los post y me los convierte en variables del php
foreach($_POST as $z => $valor){ 
    
$asignacion "\$" $z "='" $valor "';"
   eval(
$asignacion); 
   

este es el que me hace los cambios dependiendo de la opcion que yo le hay dado

Código PHP:

if ($a1 =="a"){

$query2 "UPDATE $porte SET CARRO='$camiona' WHERE id='$ca1'";
mysql_query ($query2$link) or die (mysql_error());
$color "c0c0c0";
$cadbusca="SELECT * FROM $porte WHERE id='$ca1'";
$result=mysql_query($cadbusca$link);
While(
$row=mysql_fetch_array($result)) {

$m $row[CARTAPORTE];
$m0 $row[DESTINO];
$mz $row[REMITENTE];
$m2 $row[ID];
$m3 $row[CARRO];
echo
'
    <tr bgcolor='
.$color.'>
    <td align="center">'
.$mz.'</td>
    <td align="center">'
.$m.'</td>
    <td align="center">'
.$m3.'</td>
    <td align="center">Se asigno el Camion Seleccionado como A</td>
  </tr>'
;
}

}else if (
$a1 =="b"){

$query2 "UPDATE $porte SET CARRO='$camionb' WHERE id='$ca1'";
mysql_query ($query2$link) or die (mysql_error());
$color "c0c0c0";
$cadbusca="SELECT * FROM $porte WHERE id='$ca1'";
$result=mysql_query($cadbusca$link);
While(
$row=mysql_fetch_array($result)) {

$m $row[CARTAPORTE];
$m0 $row[DESTINO];
$mz $row[REMITENTE];
$m2 $row[ID];
$m3 $row[CARRO];
echo
'
    <tr bgcolor='
.$color.'>
    <td align="center">'
.$mz.'</td>
    <td align="center">'
.$m.'</td>
    <td align="center">'
.$m3.'</td>
     <td align="center">Se asigno el Camion Seleccionado como B</td>
  </tr>'
;
}

}else if (
$a1 =="c"){
$query2 "UPDATE $porte SET CARRO='$camionc' WHERE id='$ca1'";
mysql_query ($query2$link) or die (mysql_error());
$color "c0c0c0";
$cadbusca="SELECT * FROM $porte WHERE id='$ca1'";
$result=mysql_query($cadbusca$link);
While(
$row=mysql_fetch_array($result)) {

$m $row[CARTAPORTE];
$m0 $row[DESTINO];
$mz $row[REMITENTE];
$m2 $row[ID];
$m3 $row[CARRO];
echo
'
    <tr bgcolor='
.$color.'>
    <td align="center">'
.$mz.'</td>
    <td align="center">'
.$m.'</td>
    <td align="center">'
.$m3.'</td>
    <td align="center">Se asigno el Camion Seleccionado como C</td>
  </tr>'
;
}
}else {
    

bueno asi como ven este codigo de arriba lo he puesto 50 veces esto suponiendo que mi query de menos de 50 porque si da mas ya vali alguna sugerencia....

Ahora si la pregunta de los chorrocientosmil chuchulucos como genero un while o un for para que me valla cambiando la variable en el codigo que les he puesto aqui arriba..
www.uplinkmx.com

Última edición por krylon; 28/11/2005 a las 14:35 Razón: me equivoque en el titulo
  #2 (permalink)  
Antiguo 29/11/2005, 05:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No entendí bien que pretendes hacer ..

Te refieres a generar ese valor de $a1 (que montas en un montón de IF()) de forma dinámica (con un bucle?) .. O a qué exactamente?

De todas formas .. aunque no sea el tema (pero creo que va la cosa por ahí tal vez) .. revisa esta FAQ sobre como trabajar con datos de un formulario que se generan dinámicamente (desde un bucle ...) y como trabajarlos en tu script PHP de proceso cuando no sabes cuantos de estos elementos de formualario (input's) se generaron:

http://www.forosdelweb.com/showthrea...710#post518710

En definitiva creo que lo que te falta es trabajar tus variables como indices del array de donde llegen .. en tu caso de un $_POST .. ahí recibes un array para recorrer con un bucle (foreach() .. for() .. etc) .. NO convertir a variables "simples" (con tu "snniplet" ni con la propuesta que te hago más abajo).

Cita:
//este me recibe todas los post y me los convierte en variables del php
foreach($_POST as $z => $valor){
$asignacion = "\$" . $z . "='" . $valor . "';";
eval($asignacion);

}

Esto lo puedes hacer simplemente con la función:
extract()
http://www.php.net/extract

Un saludo,
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 17:09.