Объединить и отобразить 2 базы данных и 2 таблицы

0

Привет, ребята, у меня проблема, есть страница, где мне нужно отображать данные, соответствующие дате, но из 2 баз данных и из 2 таблиц из каждой базы данных,

1 Имя базы данных = highmob_comenzi Таблицы = игроки и vanzari
2 Имя базы данных = highmob_comenzi2 Таблицы = игроки и vanzari

это код, который я получил, я попробовал "выбрать * у игроков, vanzari", но все равно не повезло, даже если не будет извлекать данные из обеих баз данных :(

<table class='table table-responsive-sm table-bordered table-striped table-    sm' border="2px">
<thead>
<tr>
<th>Locatia Vanzari</th>
<th>Tip. Cert.</th>
<th>Nr.</th>
<th>Status Comanda Mobila</th>
<th>Status Comanda Tapiterii</th>
<th>Status Livrare</th>
<th>Ora Livrare</th>
<th>Detalii Comanda</th>
<th>Total</th>
<th>Avans</th>
<th>Rest</th>
<th></th>
</tr>

<?php
$servername = "localhost";
$username = "id";
$password = "pw";
$dbname = "highmob_comenzi2";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 

$sql = ("select *
 from highmob_comenzi.players 
 cross join highmob_comenzi.vanzari
 union all 
 select *
 from highmob_comenzi2.players 
 cross join highmob_comenzi2.vanzari
  WHERE statuslivrare >= CURRENT_DATE()");
$result = $conn->query($sql);


if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
    echo "


</thead>
<tbody>
<tr>

<td>HERE DATABASE NAME</td>
<td><a href='vezibilettransportcomenzi.php?id=" . $row["id"] . "'     target='_blank'  class='btn btn-sm btn-warning'>Tip. Cert.</a></td>
<td>" . $row["id"] . "</td>
<td>
" . $row["statuscomanda"] . "
</td>
<td>" . $row["statuscomandatapiterii"] . "</td>
<td>" . $row["statuslivrare"] . "</td>
<td>" . $row["oralivrare"] . "</td>
<td>" . $row["detaliicomanda"] . "</td>

<td>
 " . $row["totaldeplata"] . "</td>
<td>" . $row["avans"] . " <br><a style='color:red;'>" . $row["banipreluati"]     . "</a></td>
<td>" . $row["restdeplata"] . "<br><a style='color:red;'>" .     $row["banipreluatirest"] . "</a></td>
<td><a href='edit.php?id=" . $row["id"] . "'  target='_blank' class='btn     btn-sm btn-primary' >Vezi comanda</a></td>
</tr>





    ";
    }
} else {
echo "Nu sunt transporturi!";
}

$conn->close();
?> 
</tbody>
</table>
  • 0
    вероятно, соединение в избранном, но недостаточно информации, чтобы знать наверняка
  • 0
    давайте объединить для momment только 2 стола :) стол игроков и стол ванзари любая идея, как это сделать? я уже пробовал "выбрать * из игроков, vanzari", но не работает!
Показать ещё 3 комментария
Теги:

2 ответа

0
Лучший ответ

вы можете получить доступ к таблице в том же запросе без проблем, например (предполагая, что таблицы имеют одну и ту же структуру в обеих базе данных):

 select *
 from highmob_comenzi.players 
 cross join highmob_comenzi.vanzari
 union all 
 select *
 from highmob_comenzi2.players 
 cross join highmob_comenzi2.vanzari

это всего лишь образец для доступа к базе данных 2 в одном запросе. вы должны переосмыслить запрос, когда вы присоединитесь и условие

но на основе вашего комментария кажется, что вам нужно просто (предполагая, что statuslivrare является комом таблицы vanzari)

 select *
 from highmob_comenzi.players 
 cross join highmob_comenzi.vanzari
 WHERE vanzari.statuslivrare >= CURDATE()");
  • 0
    я редактировал пост, но все еще не работает :( проверьте сейчас
  • 0
    было бы хорошо, если бы мне удалось отобразить данные из 1 базы данных, но 2 таблиц, то я могу попытаться сделать это из 2 баз данных!
Показать ещё 24 комментария
0
 <?php
 $servername = "localhost";
 $username = "ID";
 $password = "PW";
 $dbname1 = "highmob_comenzi2";


 // Create connection
 $conn = new mysqli($servername, $username, $password, $dbname1 );
 // Check connection
 if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
 } 

 $sql = ("select * from highmob_comenzi2.players cross join      highmob_comenzi2.vanzari
   ");
      $result = $conn->query($sql);


 if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
    echo "


 </thead>
 <tbody>
 <tr>

 <td>HERE DATABASE NAME</td>
 <td><a href='vezibilettransportcomenzi.php?id=" . $row["id"] . "'      target='_blank'  class='btn btn-sm btn-warning'>Tip. Cert.</a></td>
 <td>" . $row["id"] . "</td>
 <td>
 " . $row["statuscomanda"] . "
 </td>
 <td>" . $row["statuscomandatapiterii"] . "</td>
 <td>" . $row["statuslivrare"] . "</td>
 <td>" . $row["oralivrare"] . "</td>
 <td>" . $row["detaliicomanda"] . "</td>

 <td>
  " . $row["totaldeplata"] . "</td>
 <td>" . $row["avans"] . " <br><a style='color:red;'>" .      $row["banipreluati"] . "</a></td>
 <td>" . $row["restdeplata"] . "<br><a style='color:red;'>" .      $row["banipreluatirest"] . "</a></td>
 <td><a href='edit.php?id=" . $row["id"] . "'  target='_blank' class='btn      btn-sm btn-primary' >Vezi comanda</a></td>
 </tr>





        ";
     }
 } else {
     echo "Nu sunt transporturi!";
 }

 $conn->close();
 ?> 

Это то, что я получил и работаю, он отображает данные из 1 базы данных nammed highmob_comenzi2 и игроков в таблицы и vanzari, но im получает много дубликатов на дисплее, а также мне нужно вставить предложение WHERE:

WHERE statuslivrare> = CURRENT_DATE()

любой идее?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню