login  Naam:   Wachtwoord: 
Registreer je!
 Forum

query vereenvoudigen (Opgelost)

Offline Jur - 28/07/2009 11:37
Avatar van JurLid Hallo, ik laat een query uitvoeren op een bepaald sorteerveld.
Om overzichten te maken herhaal ik deze query meerdere malen met verschillende zoekvelden .
Niets aan de hand, maar zou het mogelijk zijn om via een array of iets dergelijks dit met 1 query uit te voeren?


  1. <?php
  2. $query = mysql_query("SELECT * FROM inkomsten WHERE id ='".$_SESSION['user']['id']."' AND budget='inkomstenjanuari' ") or die (mysql_error());
  3. while ($var = mysql_fetch_object($query)) {
  4. echo " <table>
  5. <tr>
  6. <td width='75px'><font color='red'><small>€ ".$var-> bedrag."</small></font></td>
  7. <td width='100px'><font color='red'><small>".$var-> budget."</small></font></td>
  8. <td width='215px'><font color='red'><small>".$var-> omschrijving."</small></font></td>
  9. <td width='15px'><a href='../bespaar.php?verwijder=verwijder&record=".$var-> iid."'><img src='../imag/bin.gif' width='12' height='13' alt='verwijder' title='verwijder' border='0' align=''></a></td>
  10. <td width='15px'><a href='../uitgavenwijzig.php?wijzig=wijzig&record=".$var-> iid."'><img src='../imag/edit.gif' width='12' height='12' alt='wijzig' title='wijzig' border='0' align=''></a></td>
  11.  
  12. </tr>
  13. </table>";
  14. }
  15. ?>

9 antwoorden

Gesponsorde links
Offline jaronneke - 28/07/2009 11:53
Avatar van jaronneke MySQL interesse De query variabel maken , met bijvoorbeeld

.. WHERE budget = '".$_POST["budget"]."'

Natuurlijk wel beveiligen ;)
Offline Jur - 28/07/2009 12:00
Avatar van Jur Lid Nee dat werkt niet, in feite moet bovenstaande code elke keer onder elkaar gezet worden zodat je als het ware een soort gerubriceerde overzicht krijgt.
Offline ibmos2warp - 28/07/2009 12:06 (laatste wijziging 28/07/2009 12:15)
Avatar van ibmos2warp PHP interesse Gewoon die where id=blabla weghalen lijkt mij? Want ik neem aan dat je van al die userid's dat wilt tonen.
En dan ORDER BY d'r bij gebruiken?

jaronneke schreef:
De query variabel maken , met bijvoorbeeld

.. WHERE budget = '".$_POST["budget"]."'

Natuurlijk wel beveiligen ;)

Ieuw, gatverdamme, blegh. Jij vind het goed als iedereen je database dropt?
Gebruik ALTIJD PHP.net: mysql_real_escape_string.

Edit: mysql_fetch_object is ook nergens voor nodig, die werkt veel te traag enzo. Gebruik liever PHP.net: mysql_fetch_assoc.
Offline Jur - 28/07/2009 13:59 (laatste wijziging 28/07/2009 14:00)
Avatar van Jur Lid Nee de bedoeling is dat waar where id=blabla steeds veranderd wordt, zodat er eigenlijk dit verschijnt, en er steeds als het moet er iets bijkomt (de velden inkomstenjanuari en inkostenfebruri komen dan uit een andere database.)
  1. <?php
  2. $query = mysql_query("SELECT * FROM inkomsten WHERE id ='".$_SESSION['user']['id']."' AND budget='inkomstenjanuari' ") or die (mysql_error());
  3. while ($var = mysql_fetch_object($query)) {
  4. echo " <table>
  5. <tr>
  6. <td width='75px'><font color='red'><small>€ ".$var-> bedrag."</small></font></td>
  7. <td width='100px'><font color='red'><small>".$var-> budget."</small></font></td>
  8. <td width='215px'><font color='red'><small>".$var-> omschrijving."</small></font></td>
  9. <td width='15px'><a href='../bespaar.php?verwijder=verwijder&record=".$var-> iid."'><img src='../imag/bin.gif' width='12' height='13' alt='verwijder' title='verwijder' border='0' align=''></a></td>
  10. <td width='15px'><a href='../uitgavenwijzig.php?wijzig=wijzig&record=".$var-> iid."'><img src='../imag/edit.gif' width='12' height='12' alt='wijzig' title='wijzig' border='0' align=''></a></td>
  11.  
  12. </tr>
  13. </table>";
  14. }
  15. <?php
  16. $query = mysql_query("SELECT * FROM inkomsten WHERE id ='".$_SESSION['user']['id']."' AND budget='inkomstenfebruari' ") or die (mysql_error());
  17. while ($var = mysql_fetch_object($query)) {
  18. echo " <table>
  19. <tr>
  20. <td width='75px'><font color='red'><small>€ ".$var-> bedrag."</small></font></td>
  21. <td width='100px'><font color='red'><small>".$var-> budget."</small></font></td>
  22. <td width='215px'><font color='red'><small>".$var-> omschrijving."</small></font></td>
  23. <td width='15px'><a href='../bespaar.php?verwijder=verwijder&record=".$var-> iid."'><img src='../imag/bin.gif' width='12' height='13' alt='verwijder' title='verwijder' border='0' align=''></a></td>
  24. <td width='15px'><a href='../uitgavenwijzig.php?wijzig=wijzig&record=".$var-> iid."'><img src='../imag/edit.gif' width='12' height='12' alt='wijzig' title='wijzig' border='0' align=''></a></td>
  25.  
  26. </tr>
  27. </table>";
  28. }enzovoort enzovoort
Offline ArieMedia - 28/07/2009 14:12
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Jur schreef:
Nee de bedoeling is dat waar where id=blabla steeds veranderd wordt, zodat er eigenlijk dit verschijnt, en er steeds als het moet er iets bijkomt (de velden inkomstenjanuari en inkostenfebruri komen dan uit een andere database.)
[..code..]
Als dit 12x uitgevoerd moet worden (Die SQL-query) dan zou je een array kunnen maken
  1. 0 = januari[,
  2. 1 = februari
  3. // ect


Hopelijk snap je mijn idee..
Offline jaronneke - 28/07/2009 14:52
Avatar van jaronneke MySQL interesse
ibmos2warp schreef:
Gewoon die where id=blabla weghalen lijkt mij? Want ik neem aan dat je van al die userid's dat wilt tonen.
En dan ORDER BY d'r bij gebruiken?

[..quote..]
Ieuw, gatverdamme, blegh. Jij vind het goed als iedereen je database dropt?
Gebruik ALTIJD PHP.net: mysql_real_escape_string.

Edit: mysql_fetch_object is ook nergens voor nodig, die werkt veel te traag enzo. Gebruik liever PHP.net: mysql_fetch_assoc.


Daarom zeg ik erbij : 'Natuurlijk wel beveiligen' ... misschien eerst wat beter lezen ipv zon domme reacties ;)
Offline Jur - 28/07/2009 15:21
Avatar van Jur Lid @Arie2Zero snap het idee, maar heb diverse pogingen gewaagd, maar krijg het niet voor elkaar
Offline ArieMedia - 28/07/2009 15:50
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Jur schreef:
@Arie2Zero snap het idee, maar heb diverse pogingen gewaagd, maar krijg het niet voor elkaar


  1. $sMaanden = 'januari, februarie, maart, april, mei, juni, juli, augustes, september, oktober, november, december';
  2. $aMaanden = explode(', ', $sMaanden);
  3. $iUID = $_SESSION['user']['id'];
  4. for($i=0; $i<12; $i++) {
  5. $sMaand = 'inkomsten'.$aMaanden[$i];
  6. $query = mysql_query("SELECT * FROM inkomsten WHERE id ='".$iUID."' AND budget='".$sMaand."' ") or die (mysql_error());
  7. // while
  8. }

Zoiets
Offline Jur - 28/07/2009 17:28
Avatar van Jur Lid @Arie2Zero bedankt hier kan ik mee uit de voeten, moet alleen nog even kijken hoe ik
  1. $sMaanden = 'januari, februarie, maart, april, mei, juni, juli, augustes, september, oktober, november, december';

kan veranderen in
  1. $sMaanden = $var-> budget;
omdat hij dan niets explode en alleen de laatste record neemt
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.31s