Foros del Web » Programando para Internet » PHP »

recorrer tabla

Estas en el tema de recorrer tabla en el foro de PHP en Foros del Web. NUEVA PREGUNTA?? COMO HAGO DOS ARRAYS?? hola., estoy trabado en esto mirenn compas. lo que pasa: yo tengo una colsulta la cual me trae datos ...
  #1 (permalink)  
Antiguo 07/10/2008, 11:55
Avatar de jamesjara  
Fecha de Ingreso: mayo-2008
Ubicación: san jose
Mensajes: 449
Antigüedad: 15 años, 11 meses
Puntos: 7
De acuerdo recorrer tabla

NUEVA PREGUNTA?? COMO HAGO DOS ARRAYS??

hola., estoy trabado en esto

mirenn compas.

lo que pasa: yo tengo una colsulta la cual me trae datos que no existen, la consulta es muy grande y no tiene nada q ver con el problema asi que no la pongo, los datos no existen pues estoy usando joins.

que es la consulta, ok la consulta me trae consumidores con su id, yo en la tabla programada es decir no tiene nada q ver con la consulta, tengo un campo textbox, en el cual debo meter un numero. y darle guardar.

ahora eso ultimo es lo que no puedo hacer, darle guardar, ese guardar en realidad es un insert, el insert se hace en otra tabla, es decir los datos se guardan en otro lugar,, yo si puedo guardar una fila, ejemplo
tengo 1 fila , nombre cosumidor, y en unn text box meto 4000, entonces le doy click a guardar y se guarda pero eso no es lo que se pide, se pide un solo boton para TODA LA TABLA! entonces cuando yo doy click se guardan todos los datos que fueron traidos en la primer consulta en una tabla llamada b.

en resumen lo que ocupo es:
guardar en una tabla de mysql llamada tablaB los datos traidos de una consulta y mostrados en una tabla dinamica(id_consu, price). todo esto en un solo boton.

lo que yo pienso es:
reccorrer cada fila y ir guardando, esto con un for o un while pero no e podido, porcierto en el for se ocupa establecer el numero de veces, eso es otro problema si me a ayuadr con eso pues el numero total es dinamico nunca es el mismo...


porfa ayudemen graacias por el tiempo
__________________
X7CLOUD El webservice latino!
Compatible
con mysql,sql,sqlitte.
Compatible con extjs , sencha , smargwt, Gwt , Jquery , Charts, Streaming.

Última edición por jamesjara; 15/10/2008 a las 12:29
  #2 (permalink)  
Antiguo 07/10/2008, 12:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recorrer tabla

Hola jamesjara,

Lo que puedes hacer es nombrar los campos como un arreglo y así los puedes recorrer posteriormente, por ejemplo:
Código html:
Ver original
  1. <input type="text" name="producto[]" value="" /><br />
  2. <input type="text" name="producto[]" value="" /><br />
  3. <input type="text" name="producto[]" value="" /><br />
  4. <input type="text" name="producto[]" value="" /><br />

Luego en PHP los recibes y recorres:
Código php:
Ver original
  1. foreach($_POST['producto'] as $producto ) {
  2.       echo $producto . "<br />";
  3. }

Saludos.
  #3 (permalink)  
Antiguo 08/10/2008, 09:27
Avatar de jamesjara  
Fecha de Ingreso: mayo-2008
Ubicación: san jose
Mensajes: 449
Antigüedad: 15 años, 11 meses
Puntos: 7
De acuerdo Respuesta: recorrer tabla

hey amgo gracias, mira tengo este problema.

tengo la tabla asi.

++Nombre del producto++++precio++


un ejemplo de una consulta

+++++++++++++++++++++++++++
++Nombre del producto++++precio++
++_galletas soda_______+++++__52__++
++_cocacolalight_______+++++__85 __++
++_mayones___________+++++__98 __++
+++++++++++++++++++++++++++

okey la parte de precio es un textbox donde uno mete un numero.
tambien hay 2 campos ocultos el id del producto y el id del cliente.

yo hize lo que me dijiste
<input name="textfield[]" type="text" value="0" size="2" >

luego modifique el codigo de la inserccion.mire
Código php:
Ver original
  1. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
  2.            
  3.                        
  4. foreach($_POST['textfield'] as $textfield ){
  5.  
  6. $insertSQL = sprintf("INSERT INTO consumo(id_pro, id_cli, precio) VALUES (%s, %s, %s)",
  7. GetSQLValueString($_POST['id2'], "int"),
  8. GetSQLValueString($_POST['id'], "int"),
  9. GetSQLValueString($_POST['textfield'], "text"));
  10. mysql_select_db($database_database, $database);
  11. $Result1 = mysql_query($insertSQL, $database) or die(mysql_error());
  12.  
  13. }
  14. }

el resultado obtenido de eso es , atencion: el numero de filas de la consulta, pero todos los registro iguales, siguiendo el ejemplo que puse, en mysql el resutlado de la insercion es la siguiente:
1 er fila
id_pro,
23
id_cli,
5
precio
ARRAY
2 da fila
id_pro,
23
id_cli,
5
precio
ARRAY
3 era fila
id_pro,
23
id_cli,
5
precio
ARRAY


COMO VEN SE REPITE TODO, nota: el id_clie(no tiene q ser el mismo siempre, xq cada fila pueden haber varios id_cli diferentes)


mi error debe ser una mala implemenaticion de la sentencia, a ver si me corriges
__________________
X7CLOUD El webservice latino!
Compatible
con mysql,sql,sqlitte.
Compatible con extjs , sencha , smargwt, Gwt , Jquery , Charts, Streaming.
  #4 (permalink)  
Antiguo 08/10/2008, 09:42
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: recorrer tabla

Que tal jamesjara, prueba así tu código:
Código PHP:
if((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")){ 
foreach(
$_POST['textfield'] as $textfield ){
$insertSQL sprintf("INSERT INTO consumo(id_pro, id_cli, precio) VALUES (%s, %s, %s)",GetSQLValueString($_POST['id2'], "int"),GetSQLValueString($_POST['id'], "int"),GetSQLValueString($textfield,"text"));
mysql_select_db($database_database$database);
$Result1 mysql_query($insertSQL$database) or die(mysql_error()); }} 



Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #5 (permalink)  
Antiguo 08/10/2008, 10:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recorrer tabla

Hola jamesjara,

Si ves el post que te deje, a la hora de usar [] se crea un arreglo, y tienes que FORZOSAMENTE recorrerlo para poder sacar los valores, es decir tienes que hacer un ciclo, y por cada vuelta del ciclo realizar el insert en la base de datos.

En el manual de PHP puedes ver ejemplos de como se manejan los arreglos, es muy recomendable que sepas que son y como funcionan.

Saludos.
  #6 (permalink)  
Antiguo 15/10/2008, 12:31
Avatar de jamesjara  
Fecha de Ingreso: mayo-2008
Ubicación: san jose
Mensajes: 449
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: recorrer tabla

OK SI YA ME LEI ESO Y ENTIENDO TRATE METIENDO DOS EN EL MISMO LUGAR PERO NO PUDE.
ASI SE LEE EL PRIMERO
foreach($_POST['textfield'] as $textfield )
Y SI TENGO EL SEGUNDO COMO LO METO??


Foreach($_POST['textfield'] as $textfield, $_POST['segundo'] as $segundo)

{

$insertSQL = sprintf("INSERT INTO consumo(id_pro, id_cli, precio) VALUES (%s, %s, %s)",GetSQLValueString($segundo,"int"),GetSQLValue String($_POST['id'], "int"),GetSQLValueString($textfield,"text"));
mysql_select_db($database_database, $database);
$Result1 = mysql_query($insertSQL, $database) or die(mysql_error()); }}
__________________
X7CLOUD El webservice latino!
Compatible
con mysql,sql,sqlitte.
Compatible con extjs , sencha , smargwt, Gwt , Jquery , Charts, Streaming.
  #7 (permalink)  
Antiguo 15/10/2008, 12:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recorrer tabla

Hola jamesjara,

Si tienes los dos arreglos no los puedes ciclar con un foreach, tienes que usar un for normal y asi descargar los datos:
Código php:
Ver original
  1. for( $i = 0; $i < $total; $i++ ) {
  2.         $textfield = $_POST['textfield'][$i];
  3.         $segundo = $_POST['segundo'][$i];
  4. }

Saludos.
  #8 (permalink)  
Antiguo 15/10/2008, 13:30
Avatar de jamesjara  
Fecha de Ingreso: mayo-2008
Ubicación: san jose
Mensajes: 449
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: recorrer tabla

ahh buen gracias. pero no sabe porque cuando meto el Foreach($_POST['textfield'] as $textfield)
solo me toma el primer valor de las demas variables, mientras que la variable textfield si la recorre bien.
__________________
X7CLOUD El webservice latino!
Compatible
con mysql,sql,sqlitte.
Compatible con extjs , sencha , smargwt, Gwt , Jquery , Charts, Streaming.
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 03:00.