Foros del Web » Programando para Internet » PHP »

Filtrar Varias datos de diferentes filas

Estas en el tema de Filtrar Varias datos de diferentes filas en el foro de PHP en Foros del Web. Buenas, Tengo una tabla que filtra los datos de una tabla de la base de datos. Pero al hacer lo siguiente: Código PHP: $res2  =  ...
  #1 (permalink)  
Antiguo 03/10/2012, 12:32
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 10 meses
Puntos: 5
Exclamación Filtrar Varias datos de diferentes filas

Buenas,

Tengo una tabla que filtra los datos de una tabla de la base de datos. Pero al hacer lo siguiente:

Código PHP:
$res2 mysql_query("SELECT * FROM Pilots WHERE ID='$pilotid'"); 
Los datos están bien pero solo me muestra el primer resultado. En la segunda fila de resultados me da errror.

Alguien sabe por que??
  #2 (permalink)  
Antiguo 03/10/2012, 12:49
 
Fecha de Ingreso: mayo-2011
Mensajes: 214
Antigüedad: 12 años, 11 meses
Puntos: 16
Respuesta: Filtrar Varias datos de diferentes filas

Vamos a ver, no has pesto el codigo entero ni el error, cosa que iria muy bien para poder ayudarte, pero al poner WHERE ID='$pilotid' solo mostrara los resultados en el que el campo ID sea igual a la variable $pilotid, y generalmente suele ser solo un resultado hablando de id's.
Si no te queda claro pon esto: el codigo mas completo que puedas de tu programa, el error tal kual salga y la base de datos (estructura mas que datos) y te intentare ayudar mas!
  #3 (permalink)  
Antiguo 03/10/2012, 13:22
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 10 meses
Puntos: 5
Exclamación Respuesta: Filtrar Varias datos de diferentes filas

Cita:
Iniciado por moro666 Ver Mensaje
Vamos a ver, no has pesto el codigo entero ni el error, cosa que iria muy bien para poder ayudarte, pero al poner WHERE ID='$pilotid' solo mostrara los resultados en el que el campo ID sea igual a la variable $pilotid, y generalmente suele ser solo un resultado hablando de id's.
Si no te queda claro pon esto: el codigo mas completo que puedas de tu programa, el error tal kual salga y la base de datos (estructura mas que datos) y te intentare ayudar mas!
Código PHP:
$res = mysql_query("SELECT * FROM CurrentFlights");

$filas = mysql_num_rows($res);

if($filas > 0)
{
    ?>
    <table cellpadding="2" cellspacing="0" style="text-align: center; width: 100%;">
    <tr style="background-color: #D2232A; font-weight: bold; font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: white; text-align: center;"><td>Licencia</td><td>Nombre</td><td>Origen</td><td>Destino</td><td>Callsign</td><td>ETA</td><td>Red</td><td>Distancia Volada</td><td>Estado</td>
    <?
    ?>
    </tr>
    <?
    
for($i 0$i $filas$i++)
    {
$id mysql_result($res$i'ID');    




$pilotid mysql_result($res$i'PilotID');
$res2 mysql_query("SELECT * FROM Pilots WHERE ID='$pilotid'");
$nombre mysql_result($res2$i'Name');
$origen mysql_result($res$i'DepICAO');
$destino mysql_result($res$i'DesICAO');
$callsign mysql_result($res$i'Callsign');
$eta mysql_result($res$i'ETA');
$distancia mysql_result($res$i'Distance');
$distancia round($distancia);
$red mysql_result($res$i'Network');
$estado mysql_result($res$i'Status');
$estado obtenerestado($estado);

    
        
$color $i == 'white' '#CCC';
        
        echo 
"<tr style=\"text-align: center; font-size: 10px; font-family: Arial, Helvetica, sans-serif; background-color: $color;\"><td>HTH$pilotid</td><td>$nombre</td><td>$origen</td><td>$destino</td><td>$callsign</td><td>$eta</td><td>$red</td><td>$distancia nm</td><td>$estado</td>";
        echo 
"</tr>\n";
    }
    echo 
'</table>';
}
else echo 
'<h4 style="color: red;">No hay vuelos activos!</h4>';
Todo se muestra bien, pero si en la tabla hay dos filas sólo le muestra el nombre a la primera.
  #4 (permalink)  
Antiguo 03/10/2012, 14:40
 
Fecha de Ingreso: mayo-2011
Mensajes: 214
Antigüedad: 12 años, 11 meses
Puntos: 16
Respuesta: Filtrar Varias datos de diferentes filas

Intenta usar menos mysql_result y intenta usar esto donde puedas para mostrar los resultados:
Código PHP:
Ver original
  1. $query = "SELECT * FROM Pilots WHERE ID='$pilotid'";
  2. $querys = mysql_query($query, $conexion) or die(mysql_error());
  3. while ($resultado = mysql_fetch_assoc($querys)) {
  4.    echo $resultado['nombre']."<br>";
  5. }
  #5 (permalink)  
Antiguo 03/10/2012, 14:41
 
Fecha de Ingreso: mayo-2011
Mensajes: 214
Antigüedad: 12 años, 11 meses
Puntos: 16
Respuesta: Filtrar Varias datos de diferentes filas

Te recomiendo http://www.w3schools.com/ para aprender algo mas de sql, creo que el sistema que usas se puede depurar mucho!
  #6 (permalink)  
Antiguo 04/10/2012, 07:16
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 10 meses
Puntos: 5
Exclamación Respuesta: Filtrar Varias datos de diferentes filas

Cita:
Iniciado por moro666 Ver Mensaje
Intenta usar menos mysql_result y intenta usar esto donde puedas para mostrar los resultados:
Código PHP:
Ver original
  1. $query = "SELECT * FROM Pilots WHERE ID='$pilotid'";
  2. $querys = mysql_query($query, $conexion) or die(mysql_error());
  3. while ($resultado = mysql_fetch_assoc($querys)) {
  4.    echo $resultado['nombre']."<br>";
  5. }
Ya pero es que así en esta línea:

Código PHP:
echo "<tr style=\"text-align: center; font-size: 10px; font-family: Arial, Helvetica, sans-serif; background-color: $color;\"><td>HTH$pilotid</td><td>$nombre</td><td>$origen</td><td>$destino</td><td>$callsign</td><td>$eta</td><td>$red</td><td>$distancia nm</td><td>$estado</td>"
No puedo poner la variable $nombre porque no va a existir y tendré que poner le resto con echo $resultado['nombre']."<br>"; y prefiero la otra forma.
  #7 (permalink)  
Antiguo 04/10/2012, 08:07
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Filtrar Varias datos de diferentes filas

Cita:
Iniciado por carlosuc99 Ver Mensaje
Ya pero es que así en esta línea:

Código PHP:
echo "<tr style=\"text-align: center; font-size: 10px; font-family: Arial, Helvetica, sans-serif; background-color: $color;\"><td>HTH$pilotid</td><td>$nombre</td><td>$origen</td><td>$destino</td><td>$callsign</td><td>$eta</td><td>$red</td><td>$distancia nm</td><td>$estado</td>"
No puedo poner la variable $nombre porque no va a existir y tendré que poner le resto con echo $resultado['nombre']."<br>"; y prefiero la otra forma.
Deberías poner un alias, a cada campo. Intenta reemplazando los campos y los alias y luego nos dices.

Código PHP:
Ver original
  1. $query = "SELECT campo1 as nombre, campo2 as apellido FROM Pilots WHERE ID='$pilotid'";
  2. $querys = mysql_query($query, $conexion) or die(mysql_error());
  3. while ($resultado = mysql_fetch_assoc($querys)) {
  4.   echo $resultado['nombre']."<br>";
  5.   echo $resultado['apellido']."<br>";
  6. }
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #8 (permalink)  
Antiguo 04/10/2012, 08:22
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 10 meses
Puntos: 5
Exclamación Respuesta: Filtrar Varias datos de diferentes filas

Cita:
Iniciado por h2swider Ver Mensaje
Deberías poner un alias, a cada campo. Intenta reemplazando los campos y los alias y luego nos dices.

Código PHP:
Ver original
  1. $query = "SELECT campo1 as nombre, campo2 as apellido FROM Pilots WHERE ID='$pilotid'";
  2. $querys = mysql_query($query, $conexion) or die(mysql_error());
  3. while ($resultado = mysql_fetch_assoc($querys)) {
  4.   echo $resultado['nombre']."<br>";
  5.   echo $resultado['apellido']."<br>";
  6. }
Y no se puede convertir eso en una variable?
  #9 (permalink)  
Antiguo 04/10/2012, 09:06
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Filtrar Varias datos de diferentes filas

Cita:
Iniciado por carlosuc99 Ver Mensaje
Y no se puede convertir eso en una variable?
Una posicion de un array se comporta igual que una variable. ¿Hay alguna razón en particular por la que lo quieras hacer de esa manera?

Creo que deberías echarle una leída al manual de php, una repasada por arrays no vendria mal

es lo mismo:
Código PHP:
Ver original
  1. $arreglo['posicion'] = 'hola';
  2. $posicion = 'hola';
  3.  
  4. echo $arreglo['posicion'];
  5. echo $posicion ;
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #10 (permalink)  
Antiguo 04/10/2012, 09:30
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 10 meses
Puntos: 5
Exclamación Respuesta: Filtrar Varias datos de diferentes filas

Cita:
Iniciado por h2swider Ver Mensaje
Una posicion de un array se comporta igual que una variable. ¿Hay alguna razón en particular por la que lo quieras hacer de esa manera?

Creo que deberías echarle una leída al manual de php, una repasada por [URL="http://ar2.php.net/manual/es/book.array.php"]arrays [/URL]no vendria mal

es lo mismo:
Código PHP:
Ver original
  1. $arreglo['posicion'] = 'hola';
  2. $posicion = 'hola';
  3.  
  4. echo $arreglo['posicion'];
  5. echo $posicion ;

Pero si yo pongo:

Código PHP:
echo $arreglo
No me va a dar el resultado que me daría si pongo:

Código HTML:
echo $arreglo['posicion'];
  #11 (permalink)  
Antiguo 04/10/2012, 14:27
 
Fecha de Ingreso: mayo-2011
Mensajes: 214
Antigüedad: 12 años, 11 meses
Puntos: 16
Respuesta: Filtrar Varias datos de diferentes filas

Pasate de nuevo por http://www.w3schools.com/ y esta vez mirate el apartado de php, ya que creo que no dominas las matrizes!

Etiquetas: filas, filtrar, mysql, tabla
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 00:48.