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
  1. <?php require_once("includes/csatlakozas.php"); ?>  
  2. <?php  
  3. $tagok = mysql_result(mysql_query('SELECT COUNT(*) FROM `users` WHERE `priv_member` = 1'), 0);  
  4. echo "Jelenleg "$tagok" tagunk van: ";  
  5. ?>  
  6. <br />  
  7. <table>  
  8.   <thead>  
  9.     <tr>  
  10.       <td>adat1</td>  
  11.       <td>adat2</td>  
  12.       <td>adat3</td>  
  13.       <td>adat4</td>  
  14.       <td>adat5</td>  
  15.       <td>adat6</td>  
  16.       <td>adat7</td>  
  17.       <td>adat8</td>  
  18.     </tr>  
  19.   <thead>  
  20.   <tbody>  
  21.   <?php  
  22.     $sql = 'SELECT * FROM `users` WHERE `priv_member` = 1 LIMIT 0, 30';  
  23.     $lekerdezes=mysql_query($sql);    
  24.     while ( $row = mysql_fetch_assoc($lekerdezes) ) :  
  25.   ?>  
  26.   <tr>  
  27.     <?php foreach ($row as $key => $value) : ?>  
  28.     <td><?php echo htmlspecialchars($value, ENT_QUOTES); ?></td>  
  29.     <?php endforeach; ?>  
  30.   </tr>  
  31.   <?php endwhile; ?>  
  32.   </tbody>  
  33. </table>  
Másik megközelítés:
  1. <?php require_once("includes/csatlakozas.php"); ?>  
  2. <?php  
  3. $tagok = mysql_result(mysql_query('SELECT COUNT(*) FROM `users` WHERE `priv_member` = 1'), 0);  
  4. echo "Jelenleg "$tagok" tagunk van: ";  
  5. ?>  
  6. <br />  
  7. <table>  
  8. <tbody>  
  9. <?php  
  10. $sql = 'SELECT * FROM `users` WHERE `priv_member` = 1 LIMIT 0, 30';  
  11. $lekerdezes=mysql_query($sql);  
  12. $counter = 0;  
  13. while ( $row = mysql_fetch_assoc($lekerdezes) ) :  
  14.   if ($counter&1 == 0) : ?>  
  15.   <tr>  
  16.   <?php endif; ?>  
  17.     <?php foreach ($row as $key => $value) : ?>  
  18.     <td><?php echo htmlspecialchars($value, ENT_QUOTES); ?></td>  
  19.     <?php endforeach; ?>  
  20.   <?php if ($counter&1 == 1) : ?>  
  21.   </tr>  
  22.   <?php endif;?>  
  23. <?php  
  24.   $counter++;  
  25. endwhile;  
  26. if ($counter&1 == 1) : ?>  
  27.   </tr>  
  28. <?php endif; ?>  
  29. </tbody>  
  30. </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?
  1. <?php    
  2. $sql = 'SELECT * FROM `users` WHERE `priv_member` = 1 LIMIT 0, 30';    
  3. $lekerdezes=mysql_query($sql);    
  4. $user_counter = 0;  
  5. while ( $row = mysql_fetch_assoc($lekerdezes) ) : ?>  
  6. <table>  
  7.   <caption>User <?php print ++$user_counter; ?></caption>  
  8.   <tbody>    
  9.   <?php  
  10.     $counter = 0;    
  11.     foreach ($row as $key => $value) : ?>  
  12.     <?php if ($counter&1 == 0) : ?>    
  13.     <tr>  
  14.     <?php endif; ?>    
  15.       <td><?php echo htmlspecialchars($value, ENT_QUOTES); ?></td>    
  16.     <?php if ($counter&1 == 1) : ?>    
  17.     </tr>    
  18.     <?php endif;  
  19.       $counter++;  
  20.       endforeach; ?>  
  21.     <?php if ($counter&1 == 1) : ?>    
  22.     </tr>    
  23.     <?php endif; ?>  
  24. </tbody>    
  25. </table>  
  26. <?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!