Autor Zpráva
ZiklCZ
Profil
Zdravím mam minecraft server kde mam plugin vezeni napojeny na mysql který ma 3 tabulky jail_cells, jail_prisoners, jail_zones
tabulka jail_cells ma tyto sloupce | JailName | Teleport | Sign | Chest | Player | Name ) a tabuka jail_prisoners ma tyto ( PlayerName | RemainTime | JailName | Offline | TransferDest | reason | muted | Inventory Jailer | Permissions | PreviousPosition | GameMode )

Vypisuju tabulku jail_prisoners viz http://zikl.projectsurvive.cz/jail/ a potrebuju z tabulky jail_cells přiradit do toho výpisu nazev celli kde je zavren v tabulce jail_cells sou jména cel pod (Name) a jména hracu sou pod (Player) a v jail_prisoners jsu jména hráčů pod (PlayerName)

Za každé rady budu rád.
lionel messi
Profil
ZiklCZ:
S týmto ti pomôže tzv. JOIN (odkaz na solídny český návod, odporúčam prečítať, ak si sa s dotazmi cez viac tabuliek ešte nestretol).

Konkrétny dotaz by mohol byť takýto:
SELECT p.*, c.Name
FROM jail_prisoners p
JOIN jail_cells c
ON p.JailName = c.JailName

Upravené.
Zechy
Profil
lionel messi:
SELECT p.*, j.Name
FROM jail_prisoners p
JOIN jail_cells j
ON p.JailName = j.JailName

Koukám, že menší překlep, aby to náhodu ZiklCZ nemátlo, žádný alias c definovaný není, tudíž buď vyměnit céčka za j nebo to j na c.
lionel messi
Profil
Zechy:
Koukám, že menší překlep,
Vďaka za trefný postreh, upravil som na druhú možnosť.
ZiklCZ
Profil
Děkuju funguje ale tet tam mam vše 3x :D

Když tak zde je můj zdrojoví kod
<?php
include "config.php";
mysql_connect($server, $dbuser, $dbpass);
mysql_select_db($dbname);
         
$result = mysql_query("SELECT p.*, c.Name FROM jail_prisoners p JOIN jail_cells c ON p.JailName = c.JailName;");

          echo "<table id='authme'>";
          echo "<thead>";
          echo "<tr>";
          echo "<th>Vězen</th>";
          echo "<th>Číslo/Jméno celly</th>";
          echo "<th>Uvězněn na</th>";
          echo "<th>Umlčen</th>";
          echo "<th>Offline</th>";
          echo "<th>Důvod zavření</th>";
          echo "<th>Dozorce</th>";
          echo "</tr>";
          echo "</thead>";
          echo "<tbody>";

         while($row = mysql_fetch_assoc($result))
    {
    
          echo "<tr class=\"sudy\">\n";
          echo "<td>".$row['PlayerName']."</td>";
          echo "<td>".$row['Name']."</td>";
          
          $cas = $row['RemainTime'];  
          $sekundy = intval($cas * 10);
          $minuty = intval($sekundy / 60);
          $hodiny = intval($minuty / 60);
          $dny = intval($hodiny / 24);

          $cas = $cas % 1000;
          $sekundy = $sekundy % 60;
          $minuty = $minuty % 60;
          $hodiny = $hodiny % 24;

          $casText = "{$dny} {$hodiny}:{$minuty}:{$sekundy}";
          
            echo "<td>$casText</td>";      
          echo "<td><img width='16' height='16' src='img/".$row['muted'].".png'></td>";  
          echo "<td><img width='16' height='16' src='img/".$row['Offline'].".png'></td>";  
          echo "<td>".$row['reason']."</td>";
          echo "<td>".$row['Jailer']."</td>";
                  
    }
          echo "</tbody>";
          echo "</table>";
?>
tiso
Profil
skús toto:
$result = mysql_query("SELECT p.*, c.Name FROM jail_prisoners p JOIN jail_cells c ON p.PlayerName = c.Player;");
ZiklCZ
Profil
Jo funguje to všem dík za pomoc

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: