Foros del Web » Programando para Internet » PHP »

Ayuda 2 DOWHILE seguidos

Estas en el tema de Ayuda 2 DOWHILE seguidos en el foro de PHP en Foros del Web. Hola nececito ayuda para un code qu ehe puesto lo podnr ey lo explicare Código: do{ $sql7 = "SELECT * FROM trabajadores"; $result7 = mysql_query($sql7, ...
  #1 (permalink)  
Antiguo 07/01/2008, 11:31
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Ayuda 2 DOWHILE seguidos

Hola nececito ayuda para un code qu ehe puesto lo podnr ey lo explicare

Código:
do{
$sql7 = "SELECT * FROM trabajadores";
$result7 = mysql_query($sql7, $index) or die(mysql_error());
if($row7 = mysql_fetch_array($result7)) {
$id_3 = $row7['id'];
$id_nuevo_trabajadores = ''.$id_3.'_'.$mes2.'_'.$ano.'';
do{
$sql = "SELECT * FROM clientes";
$result = mysql_query($sql, $index);
if($row = mysql_fetch_array($result)) {
$id = $row['id'];
$name = $row['nombre'];
$sql9 = "INSERT INTO $id_nuevo_trabajadores (id, cliente) VALUES ('$id', '$name')";
mysql_query($sql9, $index) or die(mysql_error());
}
}while($row = mysql_fetch_array($result));
}
}while($row7 = mysql_fetch_assoc($result7));
Bueno auqi lo que nececito es que todos los clientes que haya se inserten en la tabla de cada trabajador, para eso hise un DO el cual repite cuantos hay de trabajadores y otro adentro de ese para haser lo cuantos clientes haya, pero no se por que al momento de correr me dise que el cliente 1 es entrada duplicada, alguna idea?

ES URGENTE!

DE ANTEMANO GRACIAS :D
  #2 (permalink)  
Antiguo 07/01/2008, 12:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Ayuda 2 DOWHILE seguidos

Veo que estas utilizando las variables dentro del Do While, por lo que en tu primer ciclo las variables $row y $row7 son nulas, asi que debes de cambiar tu ciclo Do/While por un ciclo While.

Saludos.
  #3 (permalink)  
Antiguo 07/01/2008, 12:33
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Re: Ayuda 2 DOWHILE seguidos

Podrias poner el code ya que no logro entenderte
  #4 (permalink)  
Antiguo 07/01/2008, 14:36
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Re: Ayuda 2 DOWHILE seguidos

Perodn pro doble post pero mira mi code modificado le puse while en ves de do

while($row7 = mysql_fetch_assoc($result7)) :
$sql7 = "SELECT * FROM trabajadores";
$result7 = mysql_query($sql7, $index) or die(mysql_error());
if($row7 = mysql_fetch_array($result7)) {
$id_3 = $row7['id'];
$id_nuevo_trabajadores = ''.$id_3.'_'.$mes2.'_'.$ano.'';
while($row = mysql_fetch_array($result)) :
$sql = "SELECT * FROM clientes";
$result = mysql_query($sql, $index);
if($row = mysql_fetch_array($result)) {
$id = $row['id'];
$name = $row['nombre'];
$sql9 = "INSERT INTO $id_nuevo_trabajadores (id, cliente) VALUES ('$id', '$name')";
mysql_query($sql9, $index) or die(mysql_error());
}
endwhile;
}
endwhile;

peor aun asi no em sirve
REALMENTE LO QUE NECECITO ES HASER UN DO DOBLE, les explicar el alogica que tengo

hago un do que me repita X cantidad de veces una cosa y dentrod e eso quiero que X cantidad de veces se repita otra cosa y mi logica es asi:

Empieza:
Repite
Termina
Empiez
Repite
Termina

Pero no pasa eso

Alguna otra idea?

AVANSE

este codigo lo he modificado de nuevo

$sql7 = "SELECT * FROM trabajadores";
$result7 = mysql_query($sql7, $index) or die(mysql_error());
if($row7 = mysql_fetch_array($result7)) {
$sql = "SELECT * FROM clientes";
$result = mysql_query($sql, $index);
if($row = mysql_fetch_array($result)) {
do{
$id_3 = $row7['id'];
$id_nuevo_trabajadores = ''.$id_3.'_'.$mes2.'_'.$ano.'';
do{
$id = $row['id'];
$name = $row['nombre'];
$sql9 = "INSERT INTO $id_nuevo_trabajadores (id, cliente) VALUES ('$id', '$name')";
mysql_query($sql9, $index) or die(mysql_error());
}while($row = mysql_fetch_array($result));
}while($row7 = mysql_fetch_assoc($result7));
}
}

pero nadamas me agarra todos los ID del primer igreo al suigiente me lo deja en blanco

lo que crep que esta pasando es que me lo esta leyendo pero solo 1 ves la suigiente lo ignora

Última edición por Edig; 07/01/2008 a las 15:47
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:50.