problemas de eco en PHP

No sé cómo volver a publicar las preguntas, así que solo voy a vincular mi publicación anterior aquí, algún elemento no se repetirá después de poner alguna condición en PHP

aunque algunos problemas se resolvieron allí gracias a @Shinkou, todavía hay errores encontrados en mi progtwig. Traté de descubrir qué causó este problema, pero no encontré suerte para resolverlos.


ahora déjame decirte lo que hace mi progtwig. Tengo 2 administradores con diferentes funciones. el administrador carga el archivo y registra una nueva compañía y detalles del empleado. También es responsable de eliminar los archivos no aprobados o pendientes. (NO HAY PROBLEMAS AQUÍ ^ _ ^) el segundo es superadmin . su propósito es ver los archivos cargados y aprobar o rechazar el archivo cargado. (COMO USTED VEA, TODO SOBRE LOS ARCHIVOS CARGADOS POR EL ADMIN), el otro usuario es la cuenta de la empresa. Esta cuenta se crea cuando el administrador registra una nueva compañía. Su propósito es simplemente ver qué archivo ha sido aprobado o rechazado por el administrador . superadmina .

mi problema está en el superadmin y en el otro usuario. Pero hablemos más de la superadmina. Mi superadmin contiene 3 barras de menú (utilicé imágenes de enlace aquí-en funcionamiento) -> INICIO ( para ver todos los archivos aceptados / rechazados ), NUEVA CARGA ( a ver y aceptar / rechazar todos los archivos pendientes ) y LOGOUT .the NEWUPLOAD y LOGOUT funciona, pero estoy teniendo problemas con el hogar y afecta a las otras cuentas de usuario. Por último, el formato del código es algo así. Déjeme mostrarle:


 * EmployeeID * * EmployeeName * * Título * * FileDate * * Estado *           

   20132248 Danica file8 08 de enero de 2001 Aprobado          
   20896647 Jan file7 12 de diciembre de 2000 No aprobado     
   20864125 Keisha archivo2 01 de febrero de 2000 Aprobado   
   16521253 archivo Riorei10 20 de marzo de 2003 No aprobado
                                      file3 14 de julio de 2002 Aprobado

 // si puede ver el empleado riorei, contiene 2 archivos, el nombre de usuario y el ID se mostrarán solo una vez.  este también ya está ordenado como podrías notar que deseo.


déjame enumerar todos los problemas que encontré y las cosas que descubrí a medida que rastrear el problema:

  1. un problema de eco-> ejemplo si riorei tiene 2 archivos cargados, archivo10 y archivo3 , si va a aceptar / rechazar el 1er archivo10 / archivo3 en la nueva carga, en mi salida, el nombre y el ID no aparecieron ( esto es lo que hice) : intenté hacer eco de 2 variables que usé ($ empid y $ file_employee para id y $ empname y $ file_ename para name) los $ empname y $ empid se inicializaron a “” al principio (le mostraré los códigos más adelante) junto a emmployeeid ( solo lo intenté primero con id) y este fue el resultado que encontré ==> el $ empid que debería contener un valor nulo que ya contiene employeeID al principio en el que debería contener eso después del siguiente ciclo). PERO si debe aceptar el siguiente archivo. Está bien>. <pero no puedo simplemente dejarlo así, ¿verdad?
  2. Otra cosa que noté, hay algunos archivos cargados / registrados que hacen eco al principio del bucle, el nombre y el id. como algunos archivos cargados hacen eco correctamente mientras que otros no.
  3. El LIMIT-> pongo límite en mi tabla, lo que quise decir es que, por página (sí, también creé el número de página), solo se generarán 5 archivos. PERO en mi página 1 contiene solo 3 archivos, luego la siguiente página contiene 1 archivo y así sucesivamente. También experimenté algo así como en la página siguiente, no hay archivos cargados, pero si va a presionar siguiente nuevamente, ¡Tadah! el archivo está allí. ( Esto es lo que hice: puse un contador para verificar cuántas veces se enrolló en mi cláusula while. para mi sorpresa. ¡dice 5! y no sé cómo sucede eso).

por lo que he notado, este es el único error que encontré. así que déjame mostrarte los códigos que utilicé 🙂


DBLogin(); $limit = 5; if(isset($_GET['offset'])) { $offset = mysql_real_escape_string($_GET['offset']); } else { $offset = 0; } //for namelist az $listname = '%'; If (isset($_GET['namelist'])) { $listname = $_GET['namelist']; } //for search file if(isset($_POST['searchfile'])) { $search = $_POST['searchfile']; } else if(isset($_GET['searchfile'])) { $search = $_GET['searchfile']; } if($_SESSION[$fgmembersite->GetLoginSessionVar()] == 'sa' OR $_SESSION[$fgmembersite->GetLoginSessionVar()] == 'admin') { //$sql="select * from gmdc_employee where employee_name like '%$search%' AND employee_name like '$listname%' "; $sql="SELECT `e`.* FROM `gmdc_employee` `e` JOIN `gmdc_user` `u` ON ( `u`.`company_id` = `e`.`company_id` ) WHERE (`u`.`company_name` LIKE '%$search%' OR `e`.`employee_name` LIKE '%$search%' OR `e`.`employee_id` LIKE '%$search%') AND `e`.`employee_name` LIKE '$listname%' "; } else { $sql = "select `e`.* from `gmdc_user` `u`, `gmdc_employee` `e` where `u`.`username` = '".$_SESSION[$fgmembersite->GetLoginSessionVar()]."' and `u`.`company_id` = `e`.`company_id` AND `e`.`employee_name` like '$listname%' AND `e`.`employee_name` like '%$search%'"; } $query = mysql_query("$sql ORDER BY `e`.`employee_name`, `e`.`confirmation` DESC ,`e`.`file_id` DESC,`e`.`file_date` DESC LIMIT $offset,$limit") or die ( mysql_error () ); $result = mysql_query($sql) or die (mysql_error()); $total = mysql_num_rows($result); $emp_id = ''; //This will be use to remove employee_id if its already echoed. $emp_name = ''; //This will be use to remove employee_name if its already echoed. $count = 0; if(!$result || mysql_num_rows($result) HandleError("No file found."); return false; } while ($row = mysql_fetch_assoc($query)) { $file_id = $row['file_id']; $file_desc = $row['file_description']; $file_date = $row['file_date']; $file_name = $row['file_name']; $file_accs = $row['folder_access']; $file_employee = $row['employee_id']; $file_confir = $row['confirmation']; $file_ename = ucwords($row['employee_name']); //$emp_id=$emp_id==$row['employee_id']?"":$row['employee_id']; //$emp_name=$emp_name==$row['employee_name']?"":$row['employee_name']; $info = pathinfo($file_name); $file_ext = $info['extension']; $count = $count + 1; echo $count; if($_SESSION[$fgmembersite->GetLoginSessionVar()] == 'sa') { echo '        '; if ($file_employee == $emp_id) { # do not display the employee's ID and name } else { # display the employee's ID and name echo''.$file_employee.''; } echo'
  '; if($_SESSION[$fgmembersite->GetLoginSessionVar()] == 'sa') { ?> <a href="" onclick = javascript:newPopup('addfile.php?emp=');>
  <?php } else { echo ' '; if ($file_ename == $emp_name) { # do not display the employee's ID and name } else { # display the employee's ID and name echo''.$file_ename.''; } echo'
  '; } echo' '.$file_desc.'
  '.date('M d, Y',mktime(0,0,0,substr($file_date,5,2),substr($file_date,8,2),substr($file_date,0,4))).'
  '.$file_confir.'
  '; if($_SESSION[$fgmembersite->GetLoginSessionVar()] == 'sa') { if($file_confir == 'Pending' OR $file_confir == 'NotApproved') { if(isset($_GET['id'])) { $fgmembersite->Delete_Db($_GET['id']); } echo ' Delete
  '; } } } else //THIS IS THE CODES OF MY SUPER ADMIN AND OTHER ACCOUNTS if($_SESSION[$fgmembersite->GetLoginSessionVar()] != 'sa' && ($file_confir == 'Approved' || $file_confir == 'NotApproved')) { echo '   '; // echo $emp_id.'-'.$file_employee; if ($file_employee == $emp_id) { # do not display the employee's ID and name } else { # display the employee's ID and name echo''.$file_employee.''; } echo'
  '; echo ''; if ($file_ename == $emp_name) { # do not display the employee's ID and name } else { # display the employee's ID and name echo''.$file_ename.''; } echo'
  '; echo' '.$file_desc.'
  '.date('M d, Y',mktime(0,0,0,substr($file_date,5,2),substr($file_date,8,2),substr($file_date,0,4))).'
  '.$file_confir.'
  '; } $emp_id = $file_employee; $emp_name = $file_ename; }?>

LO SIENTO si es demasiado largo, es solo que algunos requieren o preguntan los códigos completos que utilicé, aunque esto es solo parte. Espero que alguien pueda ayudarme aquí. 🙁

Finalmente descubrí qué salió mal con mi problema. Aunque mis códigos se hicieron más largos que nunca.

Así que esto es lo que hice, agregué una nueva consulta para mis condiciones “pendiente”, “desaprobada” y “aprobada” es la misma consulta en realidad, acabo de agregar AND e . confirmation LIKE ‘Pendiente’ en la página de nueva carga y AND e . confirmation LIKE ‘Accepted’ O e . confirmation LIKE ‘NotAccepted’ en la página de inicio. (Nótese que puse esto junto con la consulta y creé $ sql2, $ query2, $ total2 y $ result2 y como tengo 1 código para el número de página, ya lo arreglé también)

Al mismo tiempo, en lugar de tener WHILE primero, entonces If Statement , lo he invertido. Y he hecho 2 whiles.

Podrías consultar mis códigos y aplicar esto 🙂

Gracias a @stefgosselin por no decepcionarme y al que “SOLO” me ayudó de alguna manera. Lo intenté ahora, todo lo que necesito hacer ahora es corregir mi pedido. Gracias. Espero que esto pueda ayudar a otros con el mismo problema.