Foros del Web » Programando para Internet » PHP »

problema con extraer datos de una tabla a otra (mysql)

Estas en el tema de problema con extraer datos de una tabla a otra (mysql) en el foro de PHP en Foros del Web. hola que quiero asociar un pedido a un proveedor, el proceso es el siguiente: 1º selecciono de una lista un pedido segun su fecha 2º ...
  #1 (permalink)  
Antiguo 20/07/2010, 04:18
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
problema con extraer datos de una tabla a otra (mysql)

hola que quiero asociar un pedido a un proveedor, el proceso es el siguiente:

1º selecciono de una lista un pedido segun su fecha

2º este pedido se muestra junto a una lista desplegable que me coge el nombre del proveedor.(la lista desplegable esta dentro del codigo html incrustado dentro del codigo php del script).

3º al darle al boton comprar del pedido anterior se me ejecuta un script externo que modifica el pedido metiendole el proveedor previamente seleccionado al pedido previamente seleccionado por fecha.


el error esta en el ultimo paso creo ya que el error que me sale en el navegador cuando uso la aplicacion es este:

Notice: Undefined variable: fila in G:\wamp\www\abcerotica\comprarpedit.php on line 2

y la linea 2 es esta, (pongo el script externo entero)

Código PHP:
<?php
    $camp1
=$fila['fecha']; 
    
//Esta es la linea que falla la de dato variablenombreproveedor
$dato=$_POST['nombreproveedor'];
        
$conexionmysql_connect("localhost""root""");
        
        
mysql_select_db("abcerotica"$conexion);
    
    
$SQL "UPDATE pedidos SET  nombreproveedor='$dato',""nombreproveedor='$dato' where fecha like '%".$camp1."%'";
    
    
$result mysql_query($SQL);
if (!
$result){
    echo 
"no se a modificado nada";
}

    else{
        echo 
" se a modificado";
          }
        
?>
falla la 2º linea que es como si no recogiera el resultado del select anterior el que nos coge el nombre del proveedor de la lista.

pero pasa una cosa que si funciona el script pero no me modifica el pedido que alla seleccionado segun fecha, sino que me modifica todos los pedidos asignandoles el nombredel proveedor que alla elegido. y yo lo que quiero es solo para el pedido que halla seleccionado por fecha.

¿hay un error en la sentencia sql "update set...."???

?es por que no me coge bien el nombre el proveedor del script anterior????

llevo dos dias liado con esto, e buscado en google etc etc e leido manuales etc etc pero no consigo solucionar esto por eso acudo a vosotr@s..

otra cosa me podriais explicar las diferentes formas de pasar informacion "datos" de un script a otro?

ya se como se hace con el $_POST de formularios a script php para insertar etc etc. pero que otras formas hay de pasar datos? me podeis dejar tutoriales?.

(si hace falta que os deje mas codigo decidmelo)
  #2 (permalink)  
Antiguo 20/07/2010, 04:32
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 7 meses
Puntos: 26
Respuesta: problema con extraer datos de una tabla a otra (mysql)

el update hazlo así:

Código PHP:
$SQL "UPDATE pedidos SET  nombreproveedor='".$dato."', nombreproveedor='".$dato."' where fecha like '%".$camp1."%'"
Pero lo que creo es que el error esta en la variable $fila['fecha'];

Si haces un echo de esa variable que te muestra?

También comprueba que $dato no esté vacía.
  #3 (permalink)  
Antiguo 20/07/2010, 05:20
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: problema con extraer datos de una tabla a otra (mysql)

vallu me sigue haciendo lo mismo (ya e modificado el update pero...) va a ser ke no recojo bien las variables de los otros scripts y por eso el script no las puede procesar.....

pogo el resto del codigo para ke veas como lo hecho haber si ahi esta el error.
Código PHP:
<form method="post" action="">
<ul>
<li  class="listadopedido">Ver pedidos pendientes para comprar por proveedor:
<?php
//la sintaxis de sql varia de como estes conectándote a la base de datos

$conexionmysql_connect("localhost""root""");

mysql_select_db("abcerotica"$conexion);
$SQL "SELECT fecha FROM pedidos ORDER BY fecha ASC";
$RES mysql_query($SQL,$conexion);

//abres el select
echo "<select name='fecha' id='proveedor'><option value=''>Seleccione una fecha</option>";

while(
$row mysql_fetch_row($RES)){
    
//por cada proveedor que encuentre lo muestra en la lista desplegable
    
echo "<option value='"$row[0] ."'>"$row[0] . "</option>";
    
}
//cierras el select
echo "</select>"
?>
</li>

<li class="listadopedido"><input type="submit" name="mostrarporfecha" value="Enviar" id="boton"></li>
</ul>
</form>

<?php if (isset($_POST["mostrarporfecha"])) {


    
$fecha=$_POST['fecha'];
    
$SQL "select * from pedidos where fecha like '%".$fecha."%'"
    
$RES mysql_query($SQL,$conexion);
    
    while(
$fila mysql_fetch_assoc($RES)) {
        
        
        
        
$camp0=$fila['id_pedido']; 
        
        
$camp1=$fila['fecha']; 
        
$camp2=$fila['nombre']; 
        
$camp3=$fila['precioplantilla']; 
        
$camp4=$fila['etiquetado'];
        
$camp5=$fila['ivafactura']; 
        
        
$camp6=$fila['colorcamiseta1']; 
        
$camp7=$fila['colortinta1']; 
        
$camp8=$fila['talla1']; 
        
$camp9=$fila['numerocamisetas1']; 
        
$camp10=$fila['precioregistro1']; 
        
$camp11=$fila['preciototal1']; 
        
        
$camp12=$fila['colorcamiseta2']; 
        
$camp13=$fila['colortinta2']; 
        
$camp14=$fila['talla2']; 
        
$camp15=$fila['numerocamisetas2']; 
        
$camp16=$fila['precioregistro2']; 
        
$camp17=$fila['preciototal2']; 
        
        
$camp18=$fila['colorcamiseta3']; 
        
$camp19=$fila['colortinta3']; 
        
$camp20=$fila['talla3']; 
        
$camp21=$fila['numerocamisetas3']; 
        
$camp22=$fila['precioregistro3']; 
        
$camp23=$fila['preciototal3']; 
        
        
$camp24=$fila['colorcamiseta4']; 
        
$camp25=$fila['colortinta4']; 
        
$camp26=$fila['talla4']; 
        
$camp27=$fila['numerocamisetas4']; 
        
$camp28=$fila['precioregistro4']; 
        
$camp29=$fila['preciototal4'];
        
        
$camp30=$fila['colorcamiseta5']; 
        
$camp31=$fila['colortinta5']; 
        
$camp32=$fila['talla5']; 
        
$camp33=$fila['numerocamisetas5']; 
        
$camp34=$fila['precioregistro5']; 
        
$camp35=$fila['preciototal5'];
        
        
$camp36=$fila['colorcamiseta6']; 
        
$camp37=$fila['colortinta6']; 
        
$camp38=$fila['talla6']; 
        
$camp39=$fila['numerocamisetas6']; 
        
$camp40=$fila['precioregistro6']; 
        
$camp41=$fila['preciototal6'];
        
        
$camp42=$fila['colorcamiseta7']; 
        
$camp43=$fila['colortinta7']; 
        
$camp44=$fila['talla7']; 
        
$camp45=$fila['numerocamisetas7']; 
        
$camp46=$fila['precioregistro7']; 
        
$camp47=$fila['preciototal7'];
        
        
        
$camp48=$fila['colorcamiseta8']; 
        
$camp49=$fila['colortinta8']; 
        
$camp50=$fila['talla8']; 
        
$camp51=$fila['numerocamisetas8']; 
        
$camp52=$fila['precioregistro8']; 
        
$camp53=$fila['preciototal8'];
        
        
$camp54=$fila['totalfactura'];
        
$camp55=$fila['iva'];
        
        
        
        
        
        echo 
'<div id="capapedido">';
        echo 
'<form name="f3"  method="post" action="comprarpedit.php" > ';
    
        
        echo 
' <ul>';
            echo 
'<li>identificador pedido</li>' .$camp0;
            
            
            
        
$conexionmysql_connect("localhost""root""");
        
        
mysql_select_db("abcerotica"$conexion);
        
$SQL "SELECT nombreproveedor FROM proveedor ORDER BY nombreproveedor ASC";
        
$RES mysql_query($SQL,$conexion);
        
        
//abres el select
        
echo "<select name='nombreproveedor' id='proveedor'><option value=''>Seleccione una proveedor</option>";
        
        while(
$row mysql_fetch_row($RES)){
            
//por cada proveedor que encuentre lo muestra en la lista desplegable
            
echo "<option value='"$row[0] ."'>"$row[0] . "</option>";
            
        }
        
//cierras el select
        
echo "</select>"
            
    
    
//aqui termina la parte dinamica del formu pedido        
            
            
        
echo '<li>Distribuidor:</li>' .$camp2;
        
        echo 
'<li>Precio plantilla: </li>' .$camp3;
        
        echo 
'<li>Etiquetado:</li>'.$camp4;
        echo 
'<li>Fecha: </li>'.$camp1;
        
        echo 
'</ul>';
        
        echo 
'<ul>';
        echo 
'<li>Color camiseta:
                </li>'
.$camp6;
        
        echo 
'<li>Nº colores tinta:
                </li>'
.$camp7;
        
        echo 
'<li>Talla:
                </li>'
.$camp8;
        
        echo 
'<li>Nº de camisetas:</li>'.$camp9;
        echo 
' <li>Precio: </li>'.$camp10;
        echo 
'<li>Total precio: </li>'.$camp11;
        
        echo 
' </ul>';
        
        echo 
'<ul>';
        
        echo 
'<li>Color camiseta:
                </li>'
.$camp12;
        
        echo 
'<li>Nº colores tinta:
                </li>'
.$camp13;
        
        echo 
' <li>Talla:
                </li>'
.$camp14;
        
        echo 
'<li>Nº de camisetas:</li>'.$camp15;
        echo 
'<li>Precio: </li>'.$camp16;
        echo 
'<li>Total precio: </li>'.$camp17;
        
        echo 
'</ul>';
        
        echo 
'<ul>';
        
        echo 
'<li>Color camiseta:
                </li>'
.$camp18;
        
        echo 
'<li>Nº colores tinta:
                </li>'
.$camp19;
        
        echo 
' <li>Talla:
                </li>'
.$camp20;
        
        echo 
'<li>Nº de camisetas:</li>'.$camp21;
        echo 
'<li>Precio:</li>'.$camp22;
        echo 
'<li>Total precio: </li>'.$camp23;
        
        echo 
'</ul>';
        
        echo 
' <ul>';
        
        echo 
'<li>Color camiseta:
                </li>'
.$camp24;
        
        echo 
'<li>Nº colores tinta:
                </li>'
.$camp25;
        
        echo 
'<li>Talla:
                </li>'
.$camp26;
        echo 
'<li>Nº de camisetas:</li>'.$camp27;
        echo 
'<li>Precio: </li>'.$camp28;
        echo 
' <li>Total precio: </li>'.$camp29;
        
        echo 
'</ul>';
        
        echo 
'<ul>';
        
        echo 
'<li>Color camiseta:
                </li>'
.$camp30;
        
        echo 
'<li>Nº colores tinta:
                </li>'
.$camp31;
        echo 
' <li>Talla:
                </li>'
.$camp32;
        
        echo 
' <li>Nº de camisetas:</li>'.$camp33;
        echo 
'<li>Precio: </li>'.$camp34;
        echo 
' <li>Total precio: </li>'.$camp35;
        
        echo 
'</ul>';
        
        echo 
'<ul>';
        
        echo 
'<li>Color camiseta:
                </li>'
.$camp36;
        
        echo 
'<li>Nº colores tinta:
                </li>'
.$camp37;
        echo 
'<li>Talla:
                </li>'
.$camp38;
        echo 
'<li>Nº de camisetas:</li>'.$camp39;
        echo 
'<li>Precio: </li>'.$camp40;
        echo 
'<li>Total precio: </li>'.$camp41;
        
        echo 
'</ul>';
        
        echo 
'<ul>';
        
        echo 
'<li>Color camiseta:
                </li>'
.$camp42;
        
        echo 
'<li>Nº colores tinta:
                </li>'
.$camp43;
        echo 
'<li>Talla:
                </li>'
.$camp44;
        
        echo
'<li>Nº de camisetas:</li>'.$camp45;
        echo 
' <li>Precio: </li>'.$camp46;
        echo 
' <li>Total precio: </li>'.$camp47;
        
        echo 
'</ul>';
        
        echo
'<ul>';
        
        echo 
'<li>Color camiseta:
                </li>'
.$camp48;
        
        echo 
'<li>Nº colores tinta:
                </li>'
.$camp49;
        echo 
'<li>Talla:
                </li>'
.$camp50;
        echo 
'<li>Nº de camisetas:</li>'.$camp51;
        echo 
'<li>Precio: </li>'.$camp52;
        echo 
'<li>Total precio:</li>'.$camp53;
        
        echo 
'</ul>';
        
        echo 
'<ul>';
        
        echo 
'<li>Total factura: </li>'.$camp54;
        echo 
'<li>Iva: </li>'.$camp55;
        echo 
'<li>Total factura con iva: </li>'.$camp5;
        echo 
'<li><input type="submit" name="comprarpedido" value="comprar" id="boton"></li>';
        echo 
'<li>....................fin pedido....................</li>';
        echo 
'</ul>';
        echo 
'</form>';
        echo 
'</div>';
    }
}


?>
  #4 (permalink)  
Antiguo 20/07/2010, 05:21
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: problema con extraer datos de una tabla a otra (mysql)

otra cosa como puedo saber si la variable $dato del script externo comprarpedit.php esta vacia? poniendo un echo "variable" .$dato ; asi?
  #5 (permalink)  
Antiguo 20/07/2010, 05:36
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 7 meses
Puntos: 26
Respuesta: problema con extraer datos de una tabla a otra (mysql)

Si, así te tendria que salir. Ahora me miro el código y cuando sepa que falla te digo algo (si es que lo encuentro)
  #6 (permalink)  
Antiguo 20/07/2010, 05:46
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años, 4 meses
Puntos: 55
Respuesta: problema con extraer datos de una tabla a otra (mysql)

si recojes la variable de otro script entonces debes gusrdarla en una session para que te la guarde como debe ser
  #7 (permalink)  
Antiguo 20/07/2010, 05:51
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: problema con extraer datos de una tabla a otra (mysql)

para pasar la variable proveedor he hecho esto:

en comprarproveedor.php he metido esto:
Código PHP:
header"Location: comprarpedit.php?fecha=" $fecha );  
header"Location: comprarpedit.php?nombreproveedor=" $dato); 

y en comprarpedit.php(script externo ke me modifica) he metido esto para recoger las variables:
Código PHP:
$fecha$_GET['fecha'];  
$dato$_GET['nombreproveedor']; 

asi que lo correcto seria coger y hacer una sesion??? por otra el campo dinamico select que me coge el nombre del proveedor esta dentro del script que me imprime el formulario(pedido) que son todos echo 'tal';. esta variable la del nombreproveedor es la que mas problemas me esta dando es por que esta ese campo select dinamico dentro de varios echos ""; ???
  #8 (permalink)  
Antiguo 20/07/2010, 09:25
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: problema con extraer datos de una tabla a otra (mysql)

creo que ya se cual es el fallo intento hacer la operacion usando dos variables para hacer el update pero las dos no son variables tipo $_POST. tengo dos tipos de variables una normal y la otra como $_POST. asi que que decis vosotros? puede ser este el fallo? que no cojo bien la info de ambas variables? por que utilizando una sesion la variable nombreproveedor si me la detecta bien por que es una variable post del select dinamico pero el campo fecha que es

echo "fecha" .$camp1;

como lo cojo con la sesion_start(); y vuelvo a utilizar esta variable en el proceso de update(modificar el registro mysql).??????

Etiquetas: extraer, mysql, tablas
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 10:23.