Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL] wyniki zapytań z różnych tabel
Forum PHP.pl > Forum > Przedszkole
PiiiT
Witam mam problem z wyświetleniem danych z różnych tabel. Bez wytłuszczonego zapytania i wpisaniu zamiast nr_zlecenia i nazwiskom - id_zlecenia oraz id_mechanika wszystko jest ok i wyświetla się lista z poszczególnymi ID w odpowiednich kolumnach. Jeżeli wstawiam zapytanie i zamiast id chce uzyskac przypisane im nazwy pojawia się tabela z pustymi polami. Nie wiem w czym tkwi problem ponieważ zapytanie tak skonstruowane działa w innym srypcie wyświetlającym tylko dane bez checkboxów. Z góry dziękuję za pomoc.
  1. <?php
  2. $host="localhost"; // Host name
  3. $username="....."; // Mysql username
  4. $password="......"; // Mysql password
  5. $db_name=".......";
  6. $tbl_name="obsluga";
  7. mysql_connect($host, $username, $password)or die("cannot connect");
  8. mysql_select_db($db_name)or die("cannot select DB");
  9. $sql="SELECT * FROM $tbl_name";
  10. [b]$wynik=mysql_query("SELECT mechanicy.nazwiskom, zlecenia.nr_zlecenia, obsluga.start, obsluga.st
    op
  11. FROM mechanicy, obsluga, zlecenia
  12. WHERE mechanicy.id_mech=obsluga.id_mechanika AND zlecenia.id_zlec=obsluga.id_zle
    cenia"
    );
  13. [/b]
  14. $result=mysql_query($sql);
  15. $count=mysql_num_rows($result);
  16. ?>
  17. <table width="800" border="0" cellspacing="1" cellpadding="0">
  18. <tr><td><form name="form1" method="post" action="">
  19. <table width="800" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC"><tr>
  20. <td bgcolor="#FFFFFF">&nbsp;</td>
  21. <td align="center" colspan="6" bgcolor="#FFFaaa"><strong>Zatrzymaj pracę</strong> </td></tr>
  22. <tr><td align="center" bgcolor="#FFFFFF">#</td>
  23. <td width="200" align="center" bgcolor="#CCCaaa"><strong>Id</strong></td>
  24. <td width="200" align="center" bgcolor="#CCCaaa"><strong>Id_zlecenia</strong></td>
  25. <td width="200" align="center" bgcolor="#CCCaaa"><strong>Id-mechanika</strong></td>
  26. <td width="200" align="center" bgcolor="#CCCaaa"><strong>start</strong></td>
  27. <td width="200" align="center" bgcolor="#CCCaaa"><strong>stop</strong></td></tr>
  28. <?php while($rows=mysql_fetch_array($result, MYSQL_ASSOC)){ ?>
  29.  
  30. <tr><td align="center" bgcolor="#FFFFFF">
  31. <input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['obsluga_id']; ?>">
  32. </td><td bgcolor="#FFFFFF"><?php echo $rows['obsluga_id']; ?></td><td bgcolor="#FFFFFF">
  33. <?php echo $rows['nr_zlecenia']; ?></td><td bgcolor="#FFFFFF"><?php echo $rows['nazwiskom']; ?></td>
  34. <td bgcolor="#FFFFFF"><?php echo $rows['start']; ?></td><td bgcolor="#FFFFFF">
  35. <?php echo $rows['stop']; ?></td></tr>
  36. <?php } ?>
  37. <tr><td colspan="6" align="center" bgcolor="#FFFFFF">
  38. <input name="stop" type="submit" id="stop" value="STOP"></td></tr>
  39. <?php
  40. if($_POST['stop']){
  41. for($i=0;$i<count($_POST['checkbox']);$i++){
  42. $del_id = $checkbox[$i];
  43. $sql = "UPDATE $tbl_name SET stop=NOW() WHERE obsluga_id='$del_id'";
  44. print $sql;
  45. $result = mysql_query($sql);}
  46.  if($result){echo "<meta http-equiv=\"refresh\" content=\"0;URL=stop.php\">";}}
  47.  
  48. ?>
  49. </table></form></td></tr></table>
  50. <? include 'menu.php';?>
JoShiMa
Poszukaj czegoś o złączeniach LEFT OUTER JOIN albo LEFT JOIN a także o podzapytaniach.
PiiiT
Jednak błąd był w zapytaniu:
zamiast tego:
  1. $sql="SELECT * FROM $tbl_name";
  2. $wynik=mysql_query("SELECT mechanicy.nazwiskom, zlecenia.nr_zlecenia, obsluga.start, obsluga.stop
  3. FROM mechanicy, obsluga, zlecenia
  4. WHERE mechanicy.id_mech=obsluga.id_mechanika AND zlecenia.id_zlec=obsluga.id_zlecenia");

powinno byc:
  1. $sql="SELECT mechanicy.imiem, mechanicy.nazwiskom, zlecenia.nr_zlecenia, obsluga.obsluga_id, obsluga.start, obsluga.stop FROM mechanicy, obsluga, zlecenia WHERE mechanicy.id_mech=obsluga.id_mechanika AND zlecenia.id_zlec=obsluga.id_zlecenia";

brakowało obsluga.obsluga_id.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.