login  Naam:   Wachtwoord: 
Registreer je!
 Forum

if else in query (Opgelost)

Offline Gust - 07/11/2008 13:49 (laatste wijziging 07/11/2008 13:50)
Avatar van GustMySQL interesse Ik heb een tabel met 3 hoofdtitels: ID - verantwoordelijke - leverancier. Deze titels zijn aanklikbaar. Nu zou ik willen dat, als iemand op bv "leverancier" klikt, dat dezelfde pagina geordend wordt op leverancier. Tot nu toe heb ik hier verschillende pagina's voor.


En dit is de query:
  1. <?php
  2. $query = "SELECT id, verantwoordelijke, leverancier, FROM tabel";
  3.  
  4. switch ($titel)
  5. {
  6. case 'id':
  7. $query .= 'ORDER BY id';
  8. break;
  9. case 'leverancier':
  10. $query .= 'ORDER BY leverancier';
  11. break;
  12. default:
  13. $query .= 'ORDER BY id';
  14.  
  15. }
  16. ?>



Dit is de html:

  1. <table>
  2. <tr>
  3. <td><a href="orden_soort.php" target="_self">ID</a></div></td>
  4. <td><a href="orden_verantwoordelijke.php" target="_self">verantwoordelijke</a></div></td>
  5. <td><a href="orden_leverancier.php" target="_self">leverancier</a></div></td>
  6. </tr>
  7. <tr>
  8. <?php
  9. bla bla bla
  10. ?>
  11. </tr>
  12. </table>



Hoe moet ik deze html-titels linken om het zover te krijgen?

4 antwoorden

Gesponsorde links
Offline Abbas - 07/11/2008 14:49 (laatste wijziging 07/11/2008 14:49)
Avatar van Abbas Gouden medaille

Crew .NET
Ten eerste is je eerste stuk een beetje fout en kan het veel korter. De fout zit hem in het feit dat je er nog een stukje gaat achter plaatsen (die ORDER BY), maar geen spaties voorziet, waardoor je iets als "tabelORDER BY" krijgt. Korter kan het omdat wat $titel ook is, je het zoizo achter de query plaatst:

  1. $query = "SELECT id, verantwoordelijke, leverancier, FROM tabel ORDER BY " . $titel;

Als je dan nog de controle wilt doen of $titel één van die twee is kan je dat zo doen:

  1. if($titel == "id" || $titel == "leverancier")
  2. $query = "SELECT id, verantwoordelijke, leverancier, FROM tabel ORDER BY " . $titel;
  3. else
  4. $query = "SELECT id, verantwoordelijke, leverancier, FROM tabel ORDER BY id";

Offline henver - 07/11/2008 14:51 (laatste wijziging 07/11/2008 14:52)
Avatar van henver HTML gevorderde
  1. switch ($_GET['order'])
  2. {
  3. case 'soort':
  4. $order = 'id';
  5. break;
  6. case 'verantwoordelijke':
  7. $order = 'verantwoordelijke';
  8. break;
  9. case 'leverancier':
  10. $order = 'leverancier';
  11. break;
  12. default:
  13. $order = 'id';
  14. }
  15.  
  16. $query = 'SELECT id, verantwoordelijke, leverancier, FROM tabel ORDER BY ' . $order;



  1. <tr>
  2. <td><a href="pagina.php?order=soort" target="_self">ID</a></div></td>
  3. <td><a href="pagina.php?order=verantwoordelijke" target="_self">Verantwoordelijke</a></div></td>
  4. <td><a href="pagina.php?order=leverancier" target="_self">Leverancier</a></div></td>
  5. </tr>
  6. <tr>
  7. <?php
  8. bla bla bla
  9. ?>
  10. </tr>


Dit zou moeten werken. En het kan in één pagina.
Offline Gust - 07/11/2008 15:39 (laatste wijziging 07/11/2008 15:41)
Avatar van Gust MySQL interesse dubbele post, sorry
Offline Gust - 07/11/2008 15:39 (laatste wijziging 07/11/2008 15:50)
Avatar van Gust MySQL interesse ok, bedankt mensen
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.279s