IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Dominik Gavrecký:10.2.2015 16:49

Zdravím,

Chcel by som sa opýtať ako zapísať do HTML tabuľky napríklad všetky informácie o uživateľovi z DB. Klasicky vytiahnuť udaje z DB a uložiť do funkcie mysqli_fetch_array. Ale ako postupovať ďalej ak chcem aby sa mi vypísali do tabuľky všetky uživatelia.

<table>
  <tr>
    <th>id</th>
    <th>nick</th>
  </tr>
  <tr>
    <td></td>
    <td></td>
  </tr>
</table>
Editováno 10.2.2015 16:49
Odpovědět
10.2.2015 16:49
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Odpovídá na Dominik Gavrecký
Martin Konečný (pavelco1998):10.2.2015 17:13

Hodíš SELECT na všechny řádky a potom v cyklu všechny řádky vypíšeš.

Nahoru Odpovědět
10.2.2015 17:13
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Dominik Gavrecký:10.2.2015 17:50

Ako to myslíš ? Stále sa zdelávam a som toho názoru že nevedieť neznamená byť blbý, blbý si vtedy ak sa na to neopýtaš :)

Nahoru Odpovědět
10.2.2015 17:50
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na Dominik Gavrecký
Jan Lupčík:10.2.2015 18:12

Vyber si data do proměnné např. $uzivatele. To potom dej do foreach nějak takto:

<?php
// Kód, pro výběr z databáze na proměnnou $uzivatele.
?>

<table>
   <tr>
     <th>id</th>
     <th>nick</th>
   </tr>
   <?php foreach($uzivatele as $u) : ?>
   <tr>
     <td><?= $u['id'] ?></td>
     <td><?= $u['nick'] ?></td>
   </tr>
   <?php endforeach ?>
 </table>
Editováno 10.2.2015 18:13
Nahoru Odpovědět
10.2.2015 18:12
TruckersMP vývojář
Avatar
Odpovídá na Jan Lupčík
Dominik Gavrecký:10.2.2015 19:37
<?php $membersinfo = mysqli_query($connect, "SELECT * FROM members");
foreach($membersinfo as $u) : ?>
<tr>
   <td><?= $u['id'] ?></td>
   <td>
      <div class="media">
         <img src="app/img/user/01.jpg" alt="Image" class="img-responsive img-circle">
      </div>
   </td>
   <td>@twitter</td>
   <td>Larry</td>
   <td>the Bird</td>
   <td>mail@example.com</td>
   <td>member</td>
                              <td>
      <div class="checkbox c-checkbox">
         <label>
            <input type="checkbox">
            <span class="fa fa-check"></span>
         </label>
      </div>
   </td>
</tr>
 <?php endforeach ?>

Takto ?

Nahoru Odpovědět
10.2.2015 19:37
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na Dominik Gavrecký
Jan Lupčík:10.2.2015 19:46

Pokud se jedná o výpis všech uživatelů, ano, pokud o jednoho, není třeba foreach. Akorát nechápu smysl toho tvého cyklu, kde pouze měníš ID. Ale i tak by to mělo fungovat. :)

Nahoru Odpovědět
10.2.2015 19:46
TruckersMP vývojář
Avatar
Dominik Gavrecký:10.2.2015 19:47

Bolo to pre príklad :) Ale bohužial to nefunguje ... Chcem vypísať všetky ID a nevypíše ani jedno

Nahoru Odpovědět
10.2.2015 19:47
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na Dominik Gavrecký
Jan Lupčík:10.2.2015 19:51

Nějaká chyba?
Pokud ne, zkontroluj správné názvy sloupců.

Pozn.: Pokud potřebuješ jen pár sloupců, můžeš pozměnit dotaz:

SELECT * FROM members

na

SELECT id FROM members
Editováno 10.2.2015 19:52
Nahoru Odpovědět
10.2.2015 19:51
TruckersMP vývojář
Avatar
Odpovídá na Dominik Gavrecký
Martin Konečný (pavelco1998):10.2.2015 19:59
$membersInfoQuery = mysqli_query(...);
$membersInfo = mysqli_fetch_assoc($membersInfoQuery);

foreach ($membersInfo as $member)

Nějak takto by to mělo být. Musíš ta vyhledaná data uložit do pole a teprve potom procházet.

Nahoru Odpovědět
10.2.2015 19:59
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Tonda Kozák
Člen
Avatar
Odpovídá na Jan Lupčík
Tonda Kozák:10.2.2015 20:04

To ti přece nemůže fungovat. Mysqli_query nevrací pole, ale objekt s informacemi o výsledku dotazu.

Dominik Gavrecký
Musíš použít cyklus while a funkci mysqli_fetch_a­rray() (například).

Takto:

$dotaz = mysqli_query($spojeni, "SELECT * ...");
while ($data = mysqli_fetch_array($dotaz)) {
 echo $data["nazev_sloupce"];
}
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
10.2.2015 20:04
Avatar
Tonda Kozák
Člen
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Tonda Kozák:10.2.2015 20:08

Takto se ti do $memersInfo uloží jen jeden řádek, jich pokud bude očekávat víc, musí to dát do toho cyklu while.

 
Nahoru Odpovědět
10.2.2015 20:08
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na Tonda Kozák
Jan Lupčík:10.2.2015 20:23

Tak psal, že umí mysqli_fetch_as­soc() a tak, takže jsem netušil, že dělá chybu. Jsem zvyklý na PDO. :(

Nahoru Odpovědět
10.2.2015 20:23
TruckersMP vývojář
Avatar
Dominik Gavrecký:10.2.2015 20:24

Ďakujem veľmi pekne za pomoc :)

Nahoru Odpovědět
10.2.2015 20:24
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Odpovídá na Tonda Kozák
Martin Konečný (pavelco1998):10.2.2015 20:28

Jasný, jak jsem zvyklej z PDO na fetchAll(), tak jsem si to neuvědomil.

Nahoru Odpovědět
10.2.2015 20:28
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Dominik Gavrecký:10.2.2015 20:34

Chalani ospravedlňujem sa ale naskytol sa další problém :) Všetko funguje ako má ale pri použití PHP do vypísania udajov do tabuľky mi ju uplne rozhádže. Ale údaje vypíše správne.

<?php
                         $membersinfoquery = mysqli_query($connect, "SELECT * FROM members");
                        while ($data = mysqli_fetch_array($membersinfoquery)) {
                        ?>
                        <tr>
                           <td><?= $data['id'] ?></td>
                           <td>
                              <div class="media">
                                 <img src="app/img/user/01.jpg" alt="Image" class="img-responsive img-circle">
                              </div>
                           </td>
                           <td><?= $data['id'] ?></td>
                           <td><?= $data['id'] ?></td>
                           <td><?= $data['id'] ?></td>
                           <td><?= $data['id'] ?></td>
                           <td><?= $data['id'] ?></td>
                           <td>
                              <div class="checkbox c-checkbox">
                                 <label>
                                    <input type="checkbox">
                                    <span class="fa fa-check"></span>
                                 </label>
                              </div>
                           </td>
                        </tr>
                     </tbody>
                  </table>
                  <?php } ?>

http://pbrd.co/1IN98B3

Nahoru Odpovědět
10.2.2015 20:34
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Tonda Kozák
Člen
Avatar
Tonda Kozák:10.2.2015 20:40

Vše co je uvnitř cyklu (mezi { a }) se opakuje pro každý řádek z databáze, takže

</tbody>
                   </table>

musíš dát mimo cyklus.

 
Nahoru Odpovědět
10.2.2015 20:40
Avatar
Odpovídá na Tonda Kozák
Dominik Gavrecký:10.2.2015 20:43

Ďakujem strašne moc :)

Nahoru Odpovědět
10.2.2015 20:43
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 17 zpráv z 17.