login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Fetch problem, haalt er maar 1 uit (Opgelost)

Offline kiwi - 23/04/2010 21:59 (laatste wijziging 23/04/2010 22:05)
Avatar van kiwiNieuw lid Hey,

ik wil aan de hand van een functie een lijst van bestelde T-shirts uit mijn DB halen, maar op 1 of andere raare manier wat ik direct niet zie, komt er maar 1 van alle reslutaten in de output

code:
Plaatscode.be
of
  1. function T_shirtlist(){
  2. <table width="100%">
  3. <tr>
  4. <td><strong>Naam</strong></td>
  5. <td><strong>Wat</strong></td>
  6. <td><strong>Maat</strong></td>
  7. <td><strong>Kleur</strong></td>
  8. <td><strong>Betaald</strong></td>';
  9. if (login_check()){
  10. $user = $_SESSION['username'];
  11. if(check_admin($user)){
  12. echo ' <td><strong>Betaaling maken</strong></td>';
  13. }
  14. }
  15.  
  16. echo '</tr>';
  17. $result = mysql_query("SELECT * FROM mensen ORDER BY ID ASC");
  18. while ($gegeven = mysql_fetch_object($result))
  19. {
  20. echo "<tr>
  21. <td >$gegeven->Wie</td>
  22. <td >$gegeven->Wat</td>
  23. <td >$gegeven->Maat</td>
  24. <td >$gegeven->Kleur</td>
  25. <td >$gegeven->Betaald</td>";
  26. if (login_check()){
  27. $user = $_SESSION['username'];
  28. if(check_admin($user)){
  29. if (empty ($gegeven->Betaald)){
  30. echo "<td > <i><a href='?site=T-shirts&betaling=$gegeven->ID>Betaling gedaan</a></i></td>";
  31. } else {
  32. echo "<td > <i><a href='?site=T-shirts&onbetaling=$gegeven->ID>Betaling ongedaan maken</a></i></td>";
  33. }
  34. }
  35. }
  36. echo "</tr>";
  37. }
  38. echo '</table>';
  39. }

4 antwoorden

Gesponsorde links
Offline ArieMedia - 23/04/2010 22:05
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Vind je zelf ook niet dat je script een beetje rommelig is?

Ik ga hem even opknappen voor je ;)
Offline kiwi - 23/04/2010 22:07 (laatste wijziging 23/04/2010 22:11)
Avatar van kiwi Nieuw lid
ArieMedia schreef:
Vind je zelf ook niet dat je script een beetje rommelig is?

Ik ga hem even opknappen voor je ;)


Bedankt,
ja ik weet dat men SQL/PHP wat simpel is, ik deed niet echt beveiliging e.d. want volgende week is hij niet meer nodig, dus doe niet veel moeite 

EDIT: ik edit veel omdat ik moe ben en ik daardoor soms fouten maak die ik na 3x herlezen nog niet gezien heb, alvast srry als je zo'n fout ziet
Offline ArieMedia - 23/04/2010 22:19 (laatste wijziging 23/04/2010 22:21)
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
  1. <?php
  2. function T_shirtlist(){
  3. $bLogin = login_check(); // zal true of false bevatten
  4. $bAdmin = check_admin($_SESSION['username']); // zal true of false bevatten
  5. $sRet = '<table width="100%">
  6. <tr>
  7. <td><strong>Naam</strong></td>
  8. <td><strong>Wat</strong></td>
  9. <td><strong>Maat</strong></td>
  10. <td><strong>Kleur</strong></td>
  11. <td><strong>Betaald</strong></td>';
  12. if($bLogin == true && $bAdmin == true) {
  13. $sRet .= '<td><strong>Betaling maken</strong></td>';
  14. }
  15. $sRet .= '</tr>';
  16. $sql = "SELECT *
  17. FROM mensen
  18. ORDER BY ID ASC";
  19. $rs = mysql_query($sql);
  20. while($row = mysql_fetch_assoc($rs)) {
  21. $sRet .= '<tr>
  22. <td>'.$row['wie'].'</td>
  23. <td>'.$row['wat'].'</td>
  24. <td>'.$row['maat'].'</td>
  25. <td>'.$row['kleur'].'</td>
  26. <td>'.$row['betaald'].'</td>';
  27. if($bLogin == true && $bAdmin == true) {
  28. if(empty($row['betaald'])) {
  29. $sRet .= '<td><a href="?site=T-shirts&betaling='.$row['id'].'">Betaling gedaan</a></td>';
  30. } else {
  31. $sRet .= '<td><a href="?site=T-shirts&onbetaling='.$row['id'].'">Betaling ongedaan maken</a></td>';
  32. }
  33. }
  34.  
  35. $sRet .= '</tr>';
  36. }
  37.  
  38. $sRet .= '</table>';
  39.  
  40. echo $sRet;
  41. }
  42. ?>


Zo, de code iets of wat geoptimaliseerd en wat netter..

Zoals je ziet check ik nu 1x of een gebruiker admin is en 1x of een gebruiker ingelogd is.
Alle echo's heb ik veranderd in een grote variabele waar ik alle HTML inprop en die echo ik pas aan het einde. De code is iets of wat leesbaarder geworden voor anderen, en ik heb er wat kleine foutjes uit kunnen halen. Misschien dat het nu opgelost is, maar dat zal je even moeten testen.

// Edit: Overigens raad ik je aan om in "betaald" een 0/1 waarde te zetten (0 = nee, 1 = ja), dan kan je controleren met
  1. if($row['betaald'] == 1) {
  2. // betaald
  3. } else // niet betaald
Bedankt door: kiwi
Offline kiwi - 23/04/2010 22:37 (laatste wijziging 23/04/2010 22:49)
Avatar van kiwi Nieuw lid Die 0 en 1 is al zo ,

ik ga het nu effe aanpassen en zien

EDIT: ja nu werkt het, bedankt
dit is de code geworden(moesten ng wat kleine aanpassingen gebeuren maar nu werkt het perfect bedankt):

  1. function T_shirtlist(){
  2. $bLogin = login_check(); // zal true of false bevatten
  3. if ($bLogin == TRUE){
  4. $bAdmin = check_admin($_SESSION['username']); // zal true of false bevatten
  5. }
  6. $sRet = '<table width="100%">
  7. <tr>
  8. <td><strong>#</strong></td>
  9. <td><strong>Naam</strong></td>
  10. <td><strong>Wat</strong></td>
  11. <td><strong>Maat</strong></td>
  12. <td><strong>Kleur</strong></td>
  13. <td><strong>Betaald</strong></td>';
  14. if($bLogin == true && $bAdmin == true) {
  15. $sRet .= '<td><strong>Betaling maken</strong></td>';
  16. }
  17. $sRet .= '</tr>';
  18. $sql = "SELECT *
  19. FROM mensen
  20. ORDER BY ID ASC";
  21. $rs = mysql_query($sql);
  22. $id = 1;
  23. while(@$row = mysql_fetch_assoc($rs)) {
  24. $sRet .= ' <td>'.$id.'</td>
  25. <td>'.$row['Wie'].'</td>
  26. <td>'.$row['Wat'].'</td>
  27. <td>'.$row['Maat'].'</td>
  28. <td>'.$row['Kleur'].'</td>';
  29. if($row['Betaald'] == 1) {
  30. $sRet .='<td>Ja</td>';
  31. } else {
  32. $sRet .='<td>Nee</td>';
  33. }
  34. if($bLogin == true && $bAdmin == true) {
  35. if(empty($row['Betaald'])) {
  36. $sRet .= '<td><a href="?site=T-shirts&betaling='.$row['ID'].'">Betaling gedaan</a></td>';
  37. } else {
  38. $sRet .= '<td><a href="?site=T-shirts&onbetaling='.$row['ID'].'">Betaling ongedaan maken</a></td>';
  39. }
  40. }
  41. $id ++;
  42. $sRet .= '</tr>';
  43. }
  44.  
  45. $sRet .= '</table>';
  46.  
  47. echo $sRet;
  48. }
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.218s