ugrás a tartalomhoz

Adatok lekérése, megjelenítése

szpistomi · 2009. Aug. 2. (V), 20.30
Sziasztok!

Most kóstolgatom a PHP-t, eddig (szerintem) jól haladtam, de most elakadtam.
Egy olyan oldalt szeretnék, ami megjeleníti az adatbázisból lekért felhasználói adatokat a következőek szerint:
- Annyi önálló táblázatot jelenít meg, ahány felhasználót talált a szűrés után (mindegyiknek önálló táblázat) - Ez már megvan
- A táblázatok megfelelő celláit az adott felhasználó adatával tölti meg (adat1-8)

Ehhez már elkezdtem írni a kódot, de elakadtam, azaz tippem sincs hogyan írjak a cellákba...

<?php require_once("includes/csatlakozas.php"); ?>
<?php
$sql = 'SELECT * FROM `users` WHERE `priv_member` = 1 LIMIT 0, 30 ';
$lekerdezes=mysql_query($sql);  
$tagok_szama = mysql_num_rows($lekerdezes);
echo "Jelenleg ", $tagok_szama, " tagunk van: ";
echo "<br>";
$tablazat = "<table border=1 width=800 height=200>
<tr>
<td>adat1</td>
<td>adat2</td>
</tr>
<tr>
<td>adat3</td>
<td>adat4</td>
</tr>
<tr>
<td>adat5</td>
<td>adat6</td>
</tr>
<tr>
<td>adat7</td>
<td>adat8</td>
</tr>
</table>" ;

$szamlalo = 1;
while ( $szamlalo <= $tagok_szama )
   {
   print ($tablazat ."<br />");
   $szamlalo++;
   }
?>


Ehhez kérhetnék segítséget?
Előre is köszönöm!
 
1

Megjelenítés

Poetro · 2009. Aug. 2. (V), 22.30
<?php require_once("includes/csatlakozas.php"); ?>
<?php
$tagok = mysql_result(mysql_query('SELECT COUNT(*) FROM `users` WHERE `priv_member` = 1'), 0);
echo "Jelenleg ", $tagok, " tagunk van: ";
?>
<br />
<table>
  <thead>
    <tr>
      <td>adat1</td>
      <td>adat2</td>
      <td>adat3</td>
      <td>adat4</td>
      <td>adat5</td>
      <td>adat6</td>
      <td>adat7</td>
      <td>adat8</td>
    </tr>
  <thead>
  <tbody>
  <?php
    $sql = 'SELECT * FROM `users` WHERE `priv_member` = 1 LIMIT 0, 30';
    $lekerdezes=mysql_query($sql);  
    while ( $row = mysql_fetch_assoc($lekerdezes) ) :
  ?>
  <tr>
    <?php foreach ($row as $key => $value) : ?>
    <td><?php echo htmlspecialchars($value, ENT_QUOTES); ?></td>
    <?php endforeach; ?>
  </tr>
  <?php endwhile; ?>
  </tbody>
</table>
Másik megközelítés:
<?php require_once("includes/csatlakozas.php"); ?>
<?php
$tagok = mysql_result(mysql_query('SELECT COUNT(*) FROM `users` WHERE `priv_member` = 1'), 0);
echo "Jelenleg ", $tagok, " tagunk van: ";
?>
<br />
<table>
<tbody>
<?php
$sql = 'SELECT * FROM `users` WHERE `priv_member` = 1 LIMIT 0, 30';
$lekerdezes=mysql_query($sql);
$counter = 0;
while ( $row = mysql_fetch_assoc($lekerdezes) ) :
  if ($counter&1 == 0) : ?>
  <tr>
  <?php endif; ?>
    <?php foreach ($row as $key => $value) : ?>
    <td><?php echo htmlspecialchars($value, ENT_QUOTES); ?></td>
    <?php endforeach; ?>
  <?php if ($counter&1 == 1) : ?>
  </tr>
  <?php endif;?>
<?php
  $counter++;
endwhile;
if ($counter&1 == 1) : ?>
  </tr>
<?php endif; ?>
</tbody>
</table>
2

Köszi, nagyon jó,

szpistomi · 2009. Aug. 3. (H), 14.55
Köszi, nagyon jó, kipróbáltam, mindkettő működik.
Igazából olyat gondoltam, ami annyi táblázatot (azaz annyi önálló <table> elemet) ír, ahány user van, mindegyikben egy user adataival.
Valami hasonló képre gondoltam kimenetként: (persze html táblázatként)

User 1:
-----------------------------
|    adat1    |    adat2    |
-----------------------------
|    adat3    |    adat4    |
-----------------------------
|    adat5    |    adat6    |
-----------------------------
|    adat7    |    adat8    |
-----------------------------

User 2:
-----------------------------
|    adat1    |    adat2    |
-----------------------------
|    adat3    |    adat4    |
-----------------------------
|    adat5    |    adat6    |
-----------------------------
|    adat7    |    adat8    |
-----------------------------

User "n":
-----------------------------
|    adat1    |    adat2    |
-----------------------------
|    adat3    |    adat4    |
-----------------------------
|    adat5    |    adat6    |
-----------------------------
|    adat7    |    adat8    |
-----------------------------
3

Ilyesmi

Poetro · 2009. Aug. 3. (H), 17.52
Nem teszteltem, de valami ilyesmire gondolsz?
<?php  
$sql = 'SELECT * FROM `users` WHERE `priv_member` = 1 LIMIT 0, 30';  
$lekerdezes=mysql_query($sql);  
$user_counter = 0;
while ( $row = mysql_fetch_assoc($lekerdezes) ) : ?>
<table>
  <caption>User <?php print ++$user_counter; ?></caption>
  <tbody>  
  <?php
    $counter = 0;  
    foreach ($row as $key => $value) : ?>
    <?php if ($counter&1 == 0) : ?>  
    <tr>
    <?php endif; ?>  
      <td><?php echo htmlspecialchars($value, ENT_QUOTES); ?></td>  
    <?php if ($counter&1 == 1) : ?>  
    </tr>  
    <?php endif;
      $counter++;
      endforeach; ?>
    <?php if ($counter&1 == 1) : ?>  
    </tr>  
    <?php endif; ?>
</tbody>  
</table>
<?php endwhile; ?>
4

Nagy vagy Poetro, 1024

szpistomi · 2009. Aug. 3. (H), 19.02
Nagy vagy Poetro, 1024 köszönet! Pont erre gondoltam, már csak a cellák méreteit kell állítanom, és tökéletes!