variable solucion indice index indefinido definido php html while-loop echo

solucion - undefined index php post



problemas de eco en PHP (1)

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.

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 programa. Traté de descubrir qué causó este problema, pero no encontré suerte para resolverlos.

ahora déjame decirte lo que hace mi programa. Tengo 2 administradores con diferentes funciones. el administrador carga el archivo y registra una nueva empresa 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* *Title* *FileDate* *Status* 20132248 Danica file8 Jan 08, 2001 Approved 20896647 Jan file7 Dec 12, 2000 NotApproved 20864125 Keisha file2 Feb 01, 2000 Approved 16521253 Riorei file10 Mar 20, 2003 NotApproved file3 Jul 14, 2002 Approved //if you could notice employee riorei,it contains 2 files,the employeename and id will be displayed only once. this one is also already sorted as you could notice i wish.

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é :)

<?php $search = ''%''; $fgmembersite->DBLogin(); $limit = 5; if(isset($_GET[''offset''])) { $offset = mysql_real_escape_string($_GET[''offset'']); } else { $offset = 0; } //for namelist a-z $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) <= 0) { $fgmembersite->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 ''<tr> <td> &nbsp; </td> </tr> <tr class="subone"> <td class="sub" width="100"> ''; 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''<br /> &nbsp; </td>''; if($_SESSION[$fgmembersite->GetLoginSessionVar()] == ''sa'') { ?><td class="sub" width="100"> <a href="" onclick = javascript:newPopup(''addfile.php?emp=<?php echo $file_employee ?>'');> <?php 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.''''; }?></a> <br /> &nbsp; </td><?php } else { echo ''<td class="sub" width="182"> ''; 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'' <br /> &nbsp; </td>''; } echo''<td class="sub" width="218"> <a href="''.$file_accs.$file_name.''" target="_blank" style="text-decoration: underline;">''.$file_desc.''</a> <br /> &nbsp; </td> <td class="sub" width="100"> ''.date(''M d, Y'',mktime(0,0,0,substr($file_date,5,2),substr($file_date,8,2),substr($file_date,0,4))).'' <br /> &nbsp; </td> <td class="sub" width="100"> ''.$file_confir.'' <br /> &nbsp; </td>''; if($_SESSION[$fgmembersite->GetLoginSessionVar()] == ''sa'') { if($file_confir == ''Pending'' OR $file_confir == ''NotApproved'') { if(isset($_GET[''id''])) { $fgmembersite->Delete_Db($_GET[''id'']); } echo ''<td class="sub" width="100"> <a href="index.php?id=''.$file_id.''">Delete</a> <br /> &nbsp; </td>''; } } } else //THIS IS THE CODES OF MY SUPER ADMIN AND OTHER ACCOUNTS if($_SESSION[$fgmembersite->GetLoginSessionVar()] != ''sa'' && ($file_confir == ''Approved'' || $file_confir == ''NotApproved'')) { echo ''<tr> <td> &nbsp; </td> </tr> <tr class="subone"> <td class="sub" width="100">''; // 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'' <br /> &nbsp; </td>''; echo ''<td class="sub" width="182">''; 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'' <br /> &nbsp; </td>''; echo''<td class="sub" width="218"> <a href="''.$file_accs.$file_name.''" target="_blank" style="text-decoration: underline;">''.$file_desc.''</a> <br /> &nbsp; </td> <td class="sub" width="100"> ''.date(''M d, Y'',mktime(0,0,0,substr($file_date,5,2),substr($file_date,8,2),substr($file_date,0,4))).'' <br /> &nbsp; </td> <td class="sub" width="100"> ''.$file_confir.'' <br /> &nbsp; </td>''; } $emp_id = $file_employee; $emp_name = $file_ename; }?> <tr>

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í. :(