query vereenvoudigen (Opgelost)
Jur - 28/07/2009 11:37
Lid
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?
<?php
$query = mysql_query("SELECT * FROM inkomsten WHERE id ='".$_SESSION['user']['id']."' AND budget='inkomstenjanuari' ") or die (mysql_error());
while ($var = mysql_fetch_object($query)) {
echo " <table>
<tr>
<td width='75px'><font color='red'><small>€ ".$var-> bedrag."</small></font></td>
<td width='100px'><font color='red'><small>".$var-> budget."</small></font></td>
<td width='215px'><font color='red'><small>".$var-> omschrijving."</small></font></td>
<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>
<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>
</tr>
</table>";
}
?>
<?php
$query = mysql_query ( "SELECT * FROM inkomsten WHERE id ='" . $_SESSION [ 'user' ] [ 'id' ] . "' AND budget='inkomstenjanuari' " ) or
die ( mysql_error ( ) ) ; <tr>
<td width='75px'><font color='red'><small>€ " . $var -> bedrag . "</small></font></td>
<td width='100px'><font color='red'><small>" . $var -> budget . "</small></font></td>
<td width='215px'><font color='red'><small>" . $var -> omschrijving . "</small></font></td>
<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>
<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>
</tr>
</table>" ;
}
?>
9 antwoorden
Gesponsorde links
jaronneke - 28/07/2009 11:53
MySQL interesse
De query variabel maken , met bijvoorbeeld
.. WHERE budget = '".$_POST["budget"]."'
Natuurlijk wel beveiligen ;)
Jur - 28/07/2009 12:00
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.
ibmos2warp - 28/07/2009 12:06 (laatste wijziging 28/07/2009 12:15)
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 .
Jur - 28/07/2009 13:59 (laatste wijziging 28/07/2009 14:00)
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.)
<?php
$query = mysql_query("SELECT * FROM inkomsten WHERE id ='".$_SESSION['user']['id']."' AND budget='inkomstenjanuari' ") or die (mysql_error());
while ($var = mysql_fetch_object($query)) {
echo " <table>
<tr>
<td width='75px'><font color='red'><small>€ ".$var-> bedrag."</small></font></td>
<td width='100px'><font color='red'><small>".$var-> budget."</small></font></td>
<td width='215px'><font color='red'><small>".$var-> omschrijving."</small></font></td>
<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>
<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>
</tr>
</table>";
}
<?php
$query = mysql_query("SELECT * FROM inkomsten WHERE id ='".$_SESSION['user']['id']."' AND budget='inkomstenfebruari' ") or die (mysql_error());
while ($var = mysql_fetch_object($query)) {
echo " <table>
<tr>
<td width='75px'><font color='red'><small>€ ".$var-> bedrag."</small></font></td>
<td width='100px'><font color='red'><small>".$var-> budget."</small></font></td>
<td width='215px'><font color='red'><small>".$var-> omschrijving."</small></font></td>
<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>
<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>
</tr>
</table>";
}enzovoort enzovoort
<?php
$query = mysql_query ( "SELECT * FROM inkomsten WHERE id ='" . $_SESSION [ 'user' ] [ 'id' ] . "' AND budget='inkomstenjanuari' " ) or
die ( mysql_error ( ) ) ; <tr>
<td width='75px'><font color='red'><small>€ " . $var -> bedrag . "</small></font></td>
<td width='100px'><font color='red'><small>" . $var -> budget . "</small></font></td>
<td width='215px'><font color='red'><small>" . $var -> omschrijving . "</small></font></td>
<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>
<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>
</tr>
</table>" ;
}
<?php
$query = mysql_query ( "SELECT * FROM inkomsten WHERE id ='" . $_SESSION [ 'user' ] [ 'id' ] . "' AND budget='inkomstenfebruari' " ) or
die ( mysql_error ( ) ) ; <tr>
<td width='75px'><font color='red'><small>€ " . $var -> bedrag . "</small></font></td>
<td width='100px'><font color='red'><small>" . $var -> budget . "</small></font></td>
<td width='215px'><font color='red'><small>" . $var -> omschrijving . "</small></font></td>
<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>
<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>
</tr>
</table>" ;
} enzovoort enzovoort
ArieMedia - 28/07/2009 14:12
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
Array (
0 = januari[,
1 = februari
// ect
0 = januari[ ,
1 = februari
// ect
Hopelijk snap je mijn idee..
jaronneke - 28/07/2009 14:52
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 ;)
Jur - 28/07/2009 15:21
Lid
@Arie2Zero snap het idee, maar heb diverse pogingen gewaagd, maar krijg het niet voor elkaar
ArieMedia - 28/07/2009 15:50
PHP ver gevorderde
Jur schreef:
@Arie2Zero snap het idee, maar heb diverse pogingen gewaagd, maar krijg het niet voor elkaar
$sMaanden = 'januari, februarie, maart, april, mei, juni, juli, augustes, september, oktober, november, december';
$aMaanden = explode(', ', $sMaanden);
$iUID = $_SESSION['user']['id'];
for($i=0; $i<12; $i++) {
$sMaand = 'inkomsten'.$aMaanden[$i];
$query = mysql_query("SELECT * FROM inkomsten WHERE id ='".$iUID."' AND budget='".$sMaand."' ") or die (mysql_error());
// while
}
$sMaanden = 'januari, februarie, maart, april, mei, juni, juli, augustes, september, oktober, november, december' ;
$aMaanden = explode ( ', ' , $sMaanden ) ; $iUID = $_SESSION [ 'user' ] [ 'id' ] ;
for ( $i = 0 ; $i < 12 ; $i ++ ) {
$sMaand = 'inkomsten' . $aMaanden [ $i ] ;
// while
}
Zoiets
Jur - 28/07/2009 17:28
Lid
@Arie2Zero bedankt hier kan ik mee uit de voeten, moet alleen nog even kijken hoe ik
$sMaanden = 'januari, februarie, maart, april, mei, juni, juli, augustes, september, oktober, november, december';
$sMaanden = 'januari, februarie, maart, april, mei, juni, juli, augustes, september, oktober, november, december' ;
kan veranderen in
$sMaanden = $var-> budget;
$sMaanden = $var -> budget ;
omdat hij dan niets explode en alleen de laatste record neemt
Gesponsorde links
Dit onderwerp is gesloten .