Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
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
IT Man
Redaktor
Avatar
Odpovídá na Dominik Gavrecký
IT Man: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  +1 10.2.2015 18:12
Cokoliv a kdokoliv může jednou uspět.
Avatar
Odpovídá na IT Man
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
IT Man
Redaktor
Avatar
Odpovídá na Dominik Gavrecký
IT Man: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
Cokoliv a kdokoliv může jednou uspět.
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
IT Man
Redaktor
Avatar
Odpovídá na Dominik Gavrecký
IT Man: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
Cokoliv a kdokoliv může jednou uspět.
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 IT Man
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í
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +2 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
IT Man
Redaktor
Avatar
Odpovídá na Tonda Kozák
IT Man: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
Cokoliv a kdokoliv může jednou uspět.
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  +1 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.