Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/08/2014, 16:32
pilucho
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 555
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Bucle foreach

Hola Triby sigue saliendo igual este es el codigo actual


Código PHP:

<?
global $wpdb
$table_name1 $wpdb->prefix "teacher";
$table_name2 $wpdb->prefix "student";
$sql="SELECT * FROM $table_name1, $table_name2 WHERE $table_name1.teid ORDER BY $table_name1.teid ASC";
$posts $wpdb->get_results($sql);
$prof ""// Inicializas para comparar
$sep ""// Para separar los nombres
 
foreach($posts as $post) { 
    if(
$prof != $post->name_teacher) {
          
// Este if es para evitar un cierre al inicio de la cadena
          
if($prof != "") {
               echo 
"\"];\n";
          }
          echo 
"Lista[\"{$post->name_teacher}\"] = [";
          
$sep "";
    }
    echo 
"$sep\"{$post->name_student}\"";
    
$sep ", ";
};
// Cierre al final
echo "\"];\n";

?>
Cita:
Iniciado por Triby Ver Mensaje
Con una sola vez que recorras los posts puedes obtener el resultado deseado:

Código PHP:
Ver original
  1. $prof = ""; // Inicializas para comparar
  2. $sep = ""; // Para separar los nombres
  3.  
  4. foreach($posts as $post) {
  5.     if($prof != $post->name_teacher) {
  6.           // Este if es para evitar un cierre al inicio de la cadena
  7.           if($prof != "") {
  8.                echo "\"];\n";
  9.           }
  10.           echo "Lista[\"{$post->name_teacher}\"] = [";
  11.           $sep = "";
  12.     }
  13.     echo "$sep\"{$post->name_student}\"";
  14.     $sep = ", ";
  15. };
  16. // Cierre al final
  17. echo "\"];\n";