Código PHP:
while($r=mysql_fetch_assoc($sql)){
echo'
<tr>
<td>'.$r['nombre'].'</td>
<td>'.$r['apellido'].'</td>
<td>'.$r['pais'].'</td></tr>';
}
Código PHP:
$r = mysql_fetch_assoc($sql);
Gracias de antemano.
| |||
Recorer Matriz multimensional asociativa Hola mi pregunta es la siguiente. Si hago una consulta a una base, esta arroja una tabla. Ahora comunmente para impimir los resultados hago esto: Código PHP: Código PHP: Gracias de antemano. |
| |||
Respuesta: Recorer Matriz multimensional asociativa Holas! Podrías hacerlo con un do{}while . . .
Código:
El problema es que si la SQL no devuelve un resultado el bucle te puede fallar . .. $r=mysql_fetch_assoc($sql); do { // ... } while ($r=mysql_fetch_assoc($sql)); Un saludo! |
| |||
Respuesta: Recorer Matriz multimensional asociativa Gracias por la ayuda, ni idea que era con el do while. Probe con el for, for each, while simple. Pero nada. Y no te preocupes antes de asociarlo a $r Pregunto Código PHP: |
| ||||
Respuesta: Recorer Matriz multimensional asociativa Podés usar mysql_data_seek y luego hacer el while...lo que no nos contás es el porque de esta asignación fuera del while...
__________________ Mi punto de partida es Que Bueno Lo Nuevo |
| |||
Respuesta: Recorer Matriz multimensional asociativa Lo que pasa es una consulta con un LEFT JOIN, donde se hace una relacion Uno a Varios, entonces lo asocio primero para escribir valores en unos encabezadas (Como es uno varios, el lado varios hara que se dupliquen los resultados del lado uno), y da igual, porque el valor que quiero escibir una vez esta en cualquier registro. y despues escribir los detalles de los otros campos. Saludos. |
| ||||
Respuesta: Recorer Matriz multimensional asociativa Personalente para eso hago dos consultas, es más rápido que cruzar dos tablas (y más con un left join, el cual no comprendo para el caso...porque habría datos en la iteración que podrían estar vacios), además estas trayendo un dato redundante que pesa a la memoria del proceso. En fin, podes optimizarlo así (si el caso aplica, que seguramente lo hace) o bien usar mysql_data_seek para adaptar tu lógica y que funcione.
__________________ Mi punto de partida es Que Bueno Lo Nuevo |
| |||
Respuesta: Recorer Matriz multimensional asociativa Bueno si es asi, podria optimizarse. Recien aprendo. Aver aprovecho para preguntarte algo, Que es mejor hacer una 1)Consulta con Joins y Union, para verificar si un usario esta en una lista de empresas.Que vota una lista de empresas y un campo que dice si el usuario esta o no en la empresa 2) Mientras recorro la lista de empresas ir a verificar en otra tabla si el usuario esta o no en la empresa actual. Gracias. |
| ||||
Respuesta: Recorer Matriz multimensional asociativa Tu pregunta no es muy técnica, no sé que dato necesitas obtener. Si es solo saber si el usuario está relacionado a una determinada empresa, la mejor consulta tal vez pueda ser: Código PHP:
__________________ Mi punto de partida es Que Bueno Lo Nuevo Última edición por nicolaspar; 29/10/2008 a las 13:46 |
| |||
Respuesta: Recorer Matriz multimensional asociativa Bueno gracias por responder te comento mas o menos. Yo recien empiezo asi tengo dudas. La estructura es esta: Tabla e: (empresas) ID --> Primary Key nombre Tabla u: (usuarios) ID --> Primary Key nombre Tabla ue: ID_E --> Foreign Key ID_U --> Foreign Key Basicamente esa, ahora quiero mostrar la lista de todas las empresas, y ademas un campo que diga si el usuario esta o no en cada una de las empresas. Lo que hago ahora, una sola consulta sql: Código PHP: y bueno los escribo: Código PHP: Código PHP: Gracias y disculpa haberlo hecho tan largo. |
| ||||
Respuesta: Recorer Matriz multimensional asociativa La segunda opción es mucho mejor que la que estás usando, igual, fijate si te gusta ésta: Código PHP:
__________________ Mi punto de partida es Que Bueno Lo Nuevo |
| |||
Respuesta: Recorer Matriz multimensional asociativa Muchisimas Gracias por respoder, cuando intento usar lo que me decis me da que no reconoce la sintaxis. el mysql. Asi lo escribo:
Código:
Igual usare la que plantee. Pero tengo una ultima dudaSELECT e . * , IFNULL( ( SELECT ID_U FROM ue WHERE ID_E = e.ID AND ID_U =2 ), 0 ) AS existe FROM e; El mysql_free_result Lo ejectuo Dentro o fuera del bucle? Gracias de antemano. |
| ||||
Respuesta: Recorer Matriz multimensional asociativa Fuera del bucle. Que versión de MySql tenés? (Hace un select version() en phpmyadmin o algún soft que corra contra MySql para saberlo). Si es menor a 4.1 no soportará subselects, pero podés usar dos consultas, una con el select * from empresas, y dentro de la iteración de ésta ejecutas la otra (el subquery) de manera independiente reemplazando el e.ID por el $rs['ID'] y sacándole el ifnull(). Saludos.
__________________ Mi punto de partida es Que Bueno Lo Nuevo |
| ||||
Respuesta: Recorer Matriz multimensional asociativa A tu problema...lo único que se me ocurre que hayas hecho literalmente "SELECT e . *", y eso estaría MUUUY MAAL, debería ser "SELECT e.*". Si no entendés mucho sql usá el código tal cual te lo he dado. Saludos.
__________________ Mi punto de partida es Que Bueno Lo Nuevo |
| |||
Respuesta: Recorer Matriz multimensional asociativa La verdad no se que sera, entiendo SQL y he probado sin asterisco, llamando un solo campo. Y Probe el subselect por separado y funciona, pero al momento de entrar en la otra da el erro de sintaxis, inclusive probe subselect mas simples, pero sigue sin funcionar. Pero no te preocupes, por el momento quedo bien con la segunda opcion. Saludos. |