Toon posts:

Onbekende tabel printen/echo'en

Pagina: 1
Acties:
  • 48 views sinds 30-01-2008

Verwijderd

Topicstarter
Hoi. Ik wil dus met PHP een tabel uit mn databeest laten printen. echter het geheel is zo dynamisch dat ik niet weet hoeveel records en columns er zijn op een gegeven moment.

is er een ZELFDE code voor die de tabel kan printen met 3 records en 10 kolommen en 2 kolommen en 100 records?

bij voorbaat dank!

Verwijderd

Topicstarter
niemand? please help me!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

ongeduldig? kicken binnen 24 uur wordt hier niet gewaardeerd hoor :(

maar goed, wat is je probleem eigenlijk? op het moment dat je een query uitvoert kan je zo uitvragen hoeveel records er matchen aan je query. Verder kan je na de eerste fetch al uitvragen hoeveel velden er in je result zitten. Ik zie het probleem niet zo....

Intentionally left blank


Verwijderd

Topicstarter
wat ik eigenlijk wil is dus een functie die zowel een tabel met 4 rijen en 5 kolommen kan printen evenals een tabel met 500 rijen en 2 kolommen.

ik wil dus één functie om al die verschillende tabelen ermee te printen. is dat mogelijk? zo ja kun je me mischien beetje code laten zien? ben best wel een dumbo...

dank!

p.s. sorry voor het kicken, was niet echt een bedoeling, stond zowieso al bovenaan...

Verwijderd

Zie hier code om alle data uit een willekeurige tabel te printen (bron: http://www.php.net/manual/en/ref.mysql.php):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
/* Connecting, selecting database */
$link = mysql_connect("mysql_host", "mysql_user", "mysql_password")
   or die("Could not connect : " . mysql_error());
echo "Connected successfully";
mysql_select_db("my_database") or die("Could not select database");

/* Performing SQL query */
$query = "SELECT * FROM my_table";
$result = mysql_query($query) or die("Query failed : " . mysql_error());

/* Printing results in HTML */
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
   echo "\t<tr>\n";
   foreach ($line as $col_value) {
       echo "\t\t<td>$col_value</td>\n";
   }
   echo "\t</tr>\n";
}
echo "</table>\n";

/* Free resultset */
mysql_free_result($result);

/* Closing connection */
mysql_close($link);
?> 

Als je nog de kolomnamen wil afdrukken boven de kolommen, dan kan je het volgende ook gebruiken (bron: http://www.php.net/manual...n.mysql-list-fields.php):
PHP:
1
2
3
4
5
6
7
8
9
10
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

$fields = mysql_list_fields("database1", "table1", $link);
$columns = mysql_num_fields($fields);

for ($i = 0; $i < $columns; $i++) {
   echo mysql_field_name($fields, $i) . "\n";
}
?>

PS: Ik heb de bron vermeld om aan te geven hoe makkelijk dit allemaal te vinden is in de PHP manual. Een beetje zelfredzaamheid kan geen kwaad. ;)

  • Macros
  • Registratie: Februari 2000
  • Laatst online: 30-04 09:28

Macros

I'm watching...

Uit mijn hoofd:
PHP:
1
2
3
4
5
6
7
8
9
10
$query = "SELECT * FROM $table";
$result = mysql_query($query);
echo "<table>";
while($row = mysql_fetch_array($result)){
  echo "<tr>";
  for($i = 0; $i < sizeof($row); i++)
    echo "<td>{$row[$i]}</td>";
  echo "</tr>";
}
echo "</table";

"Beauty is the ultimate defence against complexity." David Gelernter


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-05 00:01

Janoz

Moderator Devschuur®

!litemod

Ik heb niet het idee dat de topicstarter zelf erg goed heeft gezocht. Daarnaast lijkt dit meer op een scriptrequest.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1

Dit topic is gesloten.