Multidesk.be » Forums » PHP » Database gegevens in een table plaatsen

  • Pagina
  • 1 van 1
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door BoeMan op zaterdag 23 januari 2010 om 21:16:58.
BoeMan heeft nog geen avatar toegevoegd
Multiviteit: 154
Hallo iedereen,
ik probeer een scriptje te schrijven om de laatste 5 herstellingen uit de database te halen. De laatste 5 krijg ik er al uit, maar ik probeer de status van de herstelling, in wacht, op werkbank, afgewerkt, verwittigd ook uit de database te krijgen. Er moeten ook kleurencodes aan te pas komen, zoals "in wacht" is rood, "op werkbank" is oranje, enz.

Ik zou dit graag in een tabel zetten, van 5 rijen hoog, zodat deze gegevens mooi worden weergegeven met hun status erachter. En de tekstkleur van de status zou die kleurencode moeten hebben.

Maar nu zit ik met een probleem, hoe krijg die gegevens mooi in een tabel gezet? Ik kan ze er wel gewoon allemaal uithalen, maar dan staan ze ook maar gewoon onder elkaar.

Deze code heb ik tot nu, de naam van de herstelling en het uithalen van de status staan niet in dezelfde functie. Dat zou misschien wel moeten? Ook als ik bij de functie status de laatste 5 eruit wil halen, krijg ik niets, maar als ik ze er allemaal uithaal krijg ik ze wel.

functies.php
PHP
  1.  
  2. function laatste5(){
  3.         $query = mysql_query ("SELECT * FROM herstellingen ORDER BY id ASC LIMIT 0,5") or die (mysql_error());
  4.         while ($obj = mysql_fetch_object($query)) {
  5.                 echo $obj->naam;
  6.                 echo "<br>";
  7.                 }
  8. }
  9. function status(){
  10.         $query = mysql_query ("SELECT * FROM herstellingen ORDER BY id ASC LIMIT 0,5") or die (mysql_error());
  11.  
  12.         while ($obj = mysql_fetch_object($query)) {
  13.         $obj->wacht;
  14.         }
  15.  
  16.  

index.php
PHP
  1.  
  2. <?php
  3. require_once("include/functions.php");
  4. //print_r($_SESSION);
  5. echo $_SESSION['bericht'];
  6. $_SESSION['bericht'] = "";
  7. echo "<br><br>";
  8.  
  9. status();
  10. ?>
  11. <title>Index</title>
  12. Aantal herstellingen: <?php echo aantal_herstellingen(); ?>
  13. <br>
  14. Laatste 5 herstellingen:<br> <?php echo laatste5(); ?>
  15.  

Mvg Gijs
^ Reactie #1 geschreven door Martijn op zondag 24 januari 2010 om 19:56:33.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Je kan in je while lus gewoon gewoon een tr-tag echo-en. Voor elk veld dat je wil weergeven, echo je een echo en de respectievelijke waarde (kolom). Zorg dat je eerste je tabel zelf opstelt, ga daarna pas beginnen denken over de opmaak. Dit laatste is vrij eenvoudig, als je de basis tabel al voor elkaar hebt.

Natuurlijk ook niet vergeten om een table-tag rond de output van de functie 'status' te plaatsen ;-).
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #2 geschreven door BoeMan op zondag 24 januari 2010 om 20:10:36.
BoeMan heeft nog geen avatar toegevoegd
Multiviteit: 154
Ik heb er een while lus rondgezet. Maar alleen de naam van de eerste wordt weergegeven en vanaf dan niets meer.

Is er eigenlijk ook een mogelijkheid om de waardes van "wacht","werkbank","afgewerkt","verwittigd" in een array te zetten zodat die arraywaarde bijvoorbeeld (1,1,1,1) is en dat je zou kan controlleren in welke fase de herstelling is, zoals de waarde bijvoorbeeld (0,1,1,1) is zou de herstelling op de werkbank zijn.

Dit is mijn code in functions.php
PHP
  1.  
  2. function laatste(){
  3. echo '<table>';
  4. echo '<tr><td>Naam</td><td>Status</td></tr>';
  5. $query = mysql_query("SELECT naam, wacht FROM herstellingen ORDER BY id ASC LIMIT 0,5") or die ("Error in query: $query. " . mysql_error());
  6. $row = mysql_fetch_object($query); //eerste rij
  7. for ($i=0; $i<=5; $i++){
  8.     if ($i == $row->naam . wacht){
  9.        echo '<tr><td>'. $row->naam .'</td><td>'. $row->wacht .'</td></tr>';
  10.         }else{
  11.        echo '<tr><td>'. $i .'</td><td>leeg</td></tr>';
  12. }
  13. }
  14. echo '</table>';
  15. }
  16.  


Dit is mijn uitkomst.


  • Pagina
  • 1 van 1

Snel-antwoordformulier
Toon uitgebreid antwoordformulier Bericht nalezen Bericht plaatsen