Foros del Web » Programando para Internet » PHP »

tabla con varios criterios en php con sql.

Estas en el tema de tabla con varios criterios en php con sql. en el foro de PHP en Foros del Web. Hola, estoy intentando crear una tabla, soy novato y no tengo mucha idea de php ni sql. Se trata de recoger en una tabla un ...
  #1 (permalink)  
Antiguo 25/06/2013, 11:39
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 11 años, 10 meses
Puntos: 1
tabla con varios criterios en php con sql.

Hola, estoy intentando crear una tabla, soy novato y no tengo mucha idea de php ni sql.

Se trata de recoger en una tabla un registro de sucesos, la consulta en base de datos (phpmyadmin) me devuelve bien los datos que quiero, pero en la tabla php se inventa datos.

Seré más especifico, una persona manda unos datos y estos datos se guardan en una tabla de esta forma:



Entonces, yo quiero crear una tabla en php, que indique un listado de quienes mandaron esos datos según dos criterios, si el numero de identificación de ese envió "flightnum" corresponde con el criterio que yo quiero (HAWx) y si está con el valor accepted= 1. (aceptado)

Resulta que he hecho la tabla, pero intencionadamente borre de la tabla el flightnum HAW3 del usuario (pilotid) 187 y sin embargo sigue apareciendo con el valor 1 de aceptado.

Dejo aquí el código de la tabla:
Código PHP:
<?php virtual('/phpvms/Connections/byethost.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

mysql_select_db($database_byethost$byethost);
$query_piloto "SELECT `phpvms_pireps`.`pilotid` FROM phpvms_pireps WHERE ( ( `phpvms_pireps`.`flightnum` = 'HAW1' ) AND ( `phpvms_pireps`.`accepted` =1 ) ) ORDER BY `phpvms_pireps`.`pilotid` ASC LIMIT 0 , 30";
$piloto mysql_query($query_piloto$byethost) or die(mysql_error());
$row_piloto mysql_fetch_assoc($piloto);
$totalRows_piloto mysql_num_rows($piloto);

mysql_select_db($database_byethost$byethost);
$query_ruta1 "SELECT `phpvms_pireps`.`accepted` FROM phpvms_pireps WHERE ( ( `phpvms_pireps`.`flightnum` = 'HAW1' ) AND ( `phpvms_pireps`.`accepted` =1 ) ) ORDER BY `phpvms_pireps`.`pilotid` ASC LIMIT 0 , 30";
$ruta1 mysql_query($query_ruta1$byethost) or die(mysql_error());
$row_ruta1 mysql_fetch_assoc($ruta1);
$totalRows_ruta1 mysql_num_rows($ruta1);

mysql_select_db($database_byethost$byethost);
$query_ruta2 "SELECT `phpvms_pireps`.`accepted` FROM phpvms_pireps WHERE ((`phpvms_pireps`.`flightnum` ='HAW2') AND (`phpvms_pireps`.`accepted` =1)) ORDER BY `phpvms_pireps`.`pilotid` ASC";
$ruta2 mysql_query($query_ruta2$byethost) or die(mysql_error());
$row_ruta2 mysql_fetch_assoc($ruta2);
$totalRows_ruta2 mysql_num_rows($ruta2);

mysql_select_db($database_byethost$byethost);
$query_ruta4 "SELECT `phpvms_pireps`.`accepted` FROM phpvms_pireps WHERE ((`phpvms_pireps`.`flightnum` ='HAW4') AND (`phpvms_pireps`.`accepted` =1)) ORDER BY `phpvms_pireps`.`pilotid` ASC";
$ruta4 mysql_query($query_ruta4$byethost) or die(mysql_error());
$row_ruta4 mysql_fetch_assoc($ruta4);
$totalRows_ruta4 mysql_num_rows($ruta4);

mysql_select_db($database_byethost$byethost);
$query_ruta3 "SELECT `phpvms_pireps`.`accepted`
FROM phpvms_pireps
WHERE ((`phpvms_pireps`.`flightnum` ='HAW3') AND (`phpvms_pireps`.`accepted` =1))
ORDER BY `phpvms_pireps`.`pilotid` ASC"
;
$ruta3 mysql_query($query_ruta3$byethost) or die(mysql_error());
$row_ruta3 mysql_fetch_assoc($ruta3);
$totalRows_ruta3 mysql_num_rows($ruta3);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tabla de tours</title>
</head>

<body>
<table border="5">
  <tr>
    <td>pilotid</td>
    <td>Ruta 1</td>
    <td>Ruta 2</td>
    <td>Ruta 3</td>
    <td>Ruta 4</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <?php do { ?>
    <tr>
      <td><?php echo $row_piloto['pilotid']; ?></td>
      <td><?php echo $row_ruta1['accepted']; ?></td>
      <td><?php echo $row_ruta2['accepted']; ?></td>
      <td><?php echo $row_ruta3['accepted']; ?></td>
      <td><?php echo $row_ruta4['accepted']; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <?php } while ($row_piloto mysql_fetch_assoc($piloto)); ?>
</table>
</body>
</html>
<?php
mysql_free_result
($piloto);

mysql_free_result($ruta1);

mysql_free_result($ruta2);

mysql_free_result($ruta3);

mysql_free_result($ruta4);


?>
Aquí como se sitúan en la tabla:




Y aquí como muestra el resultado, no debería salir la ruta 3 (HAW3) para el pilotid (usuario) 187, y sin embargo sale.
En phpmyadmin ejecutando la consulta sql sale el resultado correcto.



Además quiero hacer otra pregunta, en lugar de mostrar un 1 en la tabla ¿cómo podría hacer para que muestre una imagen? muchas gracias de antemano por la ayuda.
  #2 (permalink)  
Antiguo 25/06/2013, 14:42
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 9 años, 2 meses
Puntos: 331
Respuesta: tabla con varios criterios en php con sql.

Lo mejor es que dejes Dreamweaver y lo hagas tú mismo, el código es muy difícil de mantener y si tu no lo entiendes difícil que puedas hacer algo con él. La misma solución en PHP / HTML puedes buscarla en cualquier tutorial PHP, salu2.
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 25/06/2013, 15:30
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: tabla con varios criterios en php con sql.

Es que llevo meses con esta tabla, y ya he mirado manuales y demás, y lo que aparece en ellos es lo que tengo puesto, da igual que sea dreamweaver o phpdesign 8.0, en los manuales de php sale ese tipo de código tipo select etc.

Si uso Dreamweaver es porque no sé programar y me permite ver como afectan los cambios en tiempo real.

No he encontrado un tutorial de ese tipo, parecidos si, tipo coger y mostrar varios valores pero con pocos criterios, no tres como en mi caso, ni ese tipo de tabla, vamos que no hacen exactamente lo que yo quiero.
Si fueras tan amable de localizarme un tutorial, yo he sido incapaz en estos meses de encontrar uno que se ajustase a lo que necesito.

No sé a que te refieres con que el código es difícil de mantener, ya dije que no sé programar. Así que entiendo que me dices que no voy a poder hacer nada por no entender el código.

Esperaba algo más de ayuda, gracias de todas formas, creo que ahí se va a quedar esa mierda, ya son muchos meses dando tumbos por foros y demás y desmoraliza no encontrar una solución durante tanto tiempo.

De todas formas, la tabla y el código esta ahí, ya hecho, solo necesito saber porque no funciona como debe para intentar arreglarlo.

Última edición por spark21; 25/06/2013 a las 15:50
  #4 (permalink)  
Antiguo 27/06/2013, 04:28
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: tabla con varios criterios en php con sql.

Lo de sustituir el valor 1 por una imagen tampoco ¿verdad?
  #5 (permalink)  
Antiguo 27/06/2013, 08:32
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 9 años, 4 meses
Puntos: 21
Respuesta: tabla con varios criterios en php con sql.

Primero, es recomendable que no uses la sentencia do-while, si no hay nada en los registros, vas a mostrar información en blanco....

Segundo, Dreamweaver + servidores gratuitos muchas veces no son la solución...

Tercero, Borraste la tabla HAW3 o borraste esa columna?

Cuarto, para agregar imagenes....
http://www.forosdelweb.com/wiki/PHP:...as_al_servidor
  #6 (permalink)  
Antiguo 27/06/2013, 10:30
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: tabla con varios criterios en php con sql.

Hola, gracias por contestar.

Con lo de la sentencia do-while ¿te refieres a esta?
Código PHP:
<?php } while ($row_piloto mysql_fetch_assoc($piloto)); ?>
Simplemente la borro ¿no? ¿o sustituyo "while" por otra sentencia?

Dreamweaver me ayuda a ir viendo sobre la marcha lo que hago, como no tengo mucha idea..., más bien para eso que se llama ¿ingeniería inversa?.
De todas formas uso un servidor gratuito para probar las cosas, y luego si va bien lo sustituyo en el de pago, ya que este último se está usando siempre y no puedo pifiarla.
Tengo también el phpdesign 8.0, ya he aprendido varias cosas para editar a mano, pero insignificantes con todo este mundillo.

Borré el row, la fila de haw3 perteneciente al pilotid 187, la entrada de esa persona con ese haw3 en la base de datos.
El resto de pilotid siguen manteniendo sus entradas en el registro (haw1, haw2...), al igual que el 187, a excepción de su entrada haw3 para comprobar si no le marca como accepted= 1, que es lo que debería hacer, y sin embargo se lo marca como accepted= 1 en la tabla, aun no existiendo en la base de datos.

Por ejemplo, estas son las actuales lineas/entradas en la base de datos de las personas (pilotid) que actualmente tienen marcados los flighnum=HAW3 como accepted=1, el 187 no aparece porque lo borré intencionadamente.
  #7 (permalink)  
Antiguo 30/06/2013, 13:31
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: tabla con varios criterios en php con sql.

Creo que fue un error postear en este foro, ¿se puede mover este post al apartado de SQL?.
Igual allí alguien sabe mejor que va mal en el código.

Etiquetas: criterios, html, mysql, registro, select, sql, 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 12:01.