Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Esto se puede arreglar?

Estas en el tema de Esto se puede arreglar? en el foro de PHP en Foros del Web. Hola gente, tengo este código funcionando bien. El tema es que en el archivo me duplica la cabecera con los nombres de las columnas, es ...
  #1 (permalink)  
Antiguo 01/02/2013, 13:05
 
Fecha de Ingreso: agosto-2008
Ubicación: Miami, FL
Mensajes: 210
Antigüedad: 15 años, 8 meses
Puntos: 2
Pregunta Esto se puede arreglar?

Hola gente,

tengo este código funcionando bien.
El tema es que en el archivo me duplica la cabecera con los nombres de las columnas,
es decir que me queda:

nombre / preowed / courrental / etc....
Diego 10 12 etc...
nombre / preowed / courrental / etc....
Javier 13 6 etc...
nombre / preowed / courrental / etc....
Adrian 11 3 etc...

hay alguna forma que me escriba la cabecera solo una ves y el resto de las filas como corresponde?

Gracias por su tiempo
__________________
Se invierte mas dinero en cirugía de pechos y viagra que en la cura del Alzheimer. En unos años tendremos viejas con grandes tetas y viejos con erecciones pero que no recordarán para que sirven..
  #2 (permalink)  
Antiguo 01/02/2013, 13:08
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Esto se puede arreglar?

Y..., lo más probable es que ese código esté mal escrito. Pero si no lo muestras, es difícil adivinarlo.
Por lo que parece, la creación de los encabezados está dentro del mismo loop que pone los registros, lo que es un error.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 01/02/2013, 14:47
 
Fecha de Ingreso: agosto-2008
Ubicación: Miami, FL
Mensajes: 210
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Esto se puede arreglar?

gnzsolyo, es verdad, no puse el codigo, sorry

aquí esta:

Código PHP:
Ver original
  1. if(isset($_POST['select']))
  2.  
  3.     {
  4.       $seleccion=$_POST['select'];
  5.       foreach($seleccion as $indice => $valor)
  6.       {
  7.  
  8.         $seleccionar = mysql_query("SELECT * FROM playing_today WHERE personalID=".$valor."");
  9.         if (!$seleccionar) {
  10.         die("Fallo en la seleccion de registro en la Base de Datos playing_today: " . mysql_error());
  11.           }  
  12. $shtml="<table>";
  13. $shtml.="<tr>";
  14. $shtml.="<td>PlayerName</td><td>PrevOwed</td><td>CourtRental</td><td>PalaRental</td><td>Beberage</td><td>Lesson</td><td>PalaSale</td><td>Balls</td><td>Overgrip</td><td>Food</td><td>Other</td><td>Total</td><td>Paid</td><td>CurrOwed</td>";
  15. $shtml.="</tr>";
  16.    while ($fila = mysql_fetch_array($seleccionar)){
  17.    
  18. $shtml.="<tr>";
  19. $shtml.="<td>".$fila['first_name']." ".$fila['last_name']."</td><td>".$fila['prev_owed']."</td><td>".$fila['court_price']."</td><td>".$fila['pala_rental_price']."</td><td>".$fila['beberage_price']."</td><td>".$fila['lesson_price']."</td><td>".$fila['pala_sale_price']."</td><td>".$fila['balls_price']."</td><td>".$fila['overgrip_price']."</td><td>".$fila['food_price']."</td><td>".$fila['other']."</td><td>".$fila['total']."</td><td>".$fila['paid']."</td><td>".$fila['curr_owned']."</td>";
  20. $shtml.="</tr>";  
  21. $shtml.="</table>";
  22. $fp=fopen("fichero.xls","a");
  23. fwrite($fp,$shtml);
  24. fclose($fp);  
  25.  
  26.    $insertar = "INSERT INTO load_players (first_name, last_name, prev_owed) VALUES ('".$fila['first_name']."', '".$fila['last_name']."', '".$fila['curr_owned']."')";
  27.    mysql_query($insertar) or die(mysql_error());  
  28.  
  29.    $borrar = "DELETE FROM playing_today WHERE personalID=".$valor." ";
  30.    mysql_query($borrar) or die(mysql_error());
  31.  
  32.    }        
  33. }
  34.  
  35. }

gracias por contestar
__________________
Se invierte mas dinero en cirugía de pechos y viagra que en la cura del Alzheimer. En unos años tendremos viejas con grandes tetas y viejos con erecciones pero que no recordarán para que sirven..
  #4 (permalink)  
Antiguo 01/02/2013, 19:28
 
Fecha de Ingreso: septiembre-2005
Ubicación: Ourense
Mensajes: 25
Antigüedad: 18 años, 7 meses
Puntos: 1
Respuesta: Esto se puede arreglar?

Hola desoler,
el siguiente codigo:


Código PHP:
$shtml="<table>"
$shtml.="<tr>"
$shtml.="<td>PlayerName</td><td>PrevOwed</td><td>CourtRental</td><td>PalaRental</td><td>Beberage</td><td>Lesson</td><td>PalaSale</td><td>Balls</td><td>Overgrip</td><td>Food</td><td>Other</td><td>Total</td><td>Paid</td><td>CurrOwed</td>"
$shtml.="</tr>"

Ha de ir antes del foreach, ya que en cada iteracion del mismo abres el fichero con fopen y te colocas al final del mismo (puesto que el fichero existe en la 2ª iteracion) y añades las cabeceras de nuevo.

y este otro trozo de codigo:

Código PHP:
$shtml.="</table>"
$fp=fopen("fichero.xls","a"); 
fwrite($fp,$shtml); 
fclose($fp); 
justo despues del foreach, para que el proceso sea:

1 --> generar cabeceras

foreach
2...n --> generar lineas tabla

n+1 --> Cerrar tabla y escribir en archivo.


Un Saludo.

Última edición por karide; 01/02/2013 a las 19:36
  #5 (permalink)  
Antiguo 02/02/2013, 11:33
 
Fecha de Ingreso: agosto-2008
Ubicación: Miami, FL
Mensajes: 210
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Esto se puede arreglar?

Solucionado Karide, gracias por tu tiempo y aporte.
__________________
Se invierte mas dinero en cirugía de pechos y viagra que en la cura del Alzheimer. En unos años tendremos viejas con grandes tetas y viejos con erecciones pero que no recordarán para que sirven..

Etiquetas: Ninguno
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:58.