quote:
1 2 3 4 5 6 7 8 9 10 | while($i < count($one)) { while($a = each($two)) { echo $a[1]." - ".$one[$i].", "; } $i++; } ?> |
Da's niet zo moeilijk toch? Gewoon nadenken wat je wilt, namelijk artikelnummer en aantal op dezelfde regel (table row).quote:Op woensdag 11 februari 2009 18:38 schreef cablegunmaster het volgende:
[..]
:Y maar hoe krijg ik dan dat er artikel _ nr en dan aantal volgende regel herhaal komt te staan ? :P
1 2 3 4 5 6 7 8 9 10 11 | echo '<table>'; for($i = 0; $i < count($art_no); $i++) { echo '<tr>'; echo '<td>'.$i.'</td>'; echo '<td>'.$art_no[$i].'</td>'; echo '<td>'.$aantal[$i].'</td>'; echo '</tr>'; } echo '</table>'; ?> |
Held !quote:Op woensdag 11 februari 2009 19:27 schreef Light het volgende:
[..]
Da's niet zo moeilijk toch? Gewoon nadenken wat je wilt, namelijk artikelnummer en aantal op dezelfde regel (table row).
[ code verwijderd ]
quote:Op woensdag 11 februari 2009 19:43 schreef cablegunmaster het volgende:
[..]
Held !Dankje
Hiermee haal ik het wel ^^. ik dacht een moeilijke while met elke while dit maar een for is beter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $k = count($art_no); echo '<table>'; for($i = 0; $i < $k ; $i++) { if($aantal[$i] > 0 ){ echo '<tr>'; echo '<td>'.$i.'</td>'; echo '<td>'.$art_no[$i].'</td>'; echo '<td>'.$aantal[$i].'</td>'; echo '</tr>'; } } echo '</table>'; ?> |
Kan, ik weet niet of dat een (duidelijke) snelheidswinst oplevert.quote:Op woensdag 11 februari 2009 19:43 schreef slacker_nl het volgende:
Die count even uit de loop halen mensen.
Correctquote:Op woensdag 11 februari 2009 19:47 schreef cablegunmaster het volgende:
[..]
[ code verwijderd ]
zo heb ik hem dus als aantal groter is dan 0 toch?
maar dan krijg ik 0 6 2 te zien ipv de waardesquote:
1 2 3 4 5 | echo $art_nr; $k = count($art_nr); echo $k."<br/>"; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | If(!empty($_POST)){ echo "<br/>".Var_dump($_POST)."<br/>"; print "artikelnr:<br/>"; foreach($_POST['artikel_nr'] as $i => $art_nr) print($i . ' = ' . $art_nr. '<br/>'); print "aantallen:<br/>"; foreach($_POST['artikelaantal'] as $i => $aantal){ print($i . ' = ' . $aantal. '<br/>'); } $k = count($art_nr[$i]); echo $k."<br/>"; echo $art_nr; echo '<table>'; for($i = 0; $i < $k; $i++) { echo '<tr>'; echo '<td>'.$i.'</td>'; echo '<td>'.$art_nr[$i].'</td>'; echo '<td>'.$aantal[$i].'</td>'; echo '</tr>'; } echo '</table>'; echo $k; } ?> |
Nee natuurlijk nietquote:Op woensdag 11 februari 2009 18:00 schreef Roy_T het volgende:
Je was tegelijkertijd ook 20 keer zoveel write queries aan het doen dan reads, zoals naar jouw zeggen in je real life situatie?
Gelukkig maar, bij jouw situatie hoor je geen grote verschillen te ontdekken. Die zie je pas bij grote belasting. Die indices zouden je query wel 100x sneller maken. Wellicht dat je nog andere queries hebt die er profijt van hebben, want ik zou toch neigen naar wel toevoegen.quote:Op woensdag 11 februari 2009 21:03 schreef Chandler het volgende:
[..]
Maar ik heb getest op een database van myISAM en dezelfde database maar dan geconverteerd naar innoDB en het verschil wsa praktisch nihil
Met dit kleine voorbeeld niet, maar met grotere arrays wel.quote:Op woensdag 11 februari 2009 20:10 schreef Light het volgende:
[..]
Kan, ik weet niet of dat een (duidelijke) snelheidswinst oplevert.
Oh, dan moet je in mijn stukje code $art_nr en $aantal vervangen door $_POST['artikel_nr'] en $_POST['artikelaantal']. Maar dat kon je natuurlijk ook zelf bedenken.quote:Op woensdag 11 februari 2009 20:31 schreef cablegunmaster het volgende:
[..]
maar dan krijg ik 0 6 2 te zien ipv de waardes
doe ik toch iets fouts
* gaat napluizen
laatste getal is laatste $aantal maar dan alleen het eerste cijfer
$i is 0
en mn $k echot 1 uit
die 6 komt van art_nrs die wel goed doortellen
[ code verwijderd ]
uitkomst:
$art_nr = 6
$k = 1
doe ik toch iets fout( count is voor arrays en ik nam aan dat er 6 waardes in zitten maar hij vind van niet
)
zelfs met apache testen kom ik hierop uit![]()
[ code verwijderd ]
terwijl bij de foreach hij wel alles er mooi uitgooit![]()
quote:Op woensdag 11 februari 2009 21:37 schreef Light het volgende:
[..]
Oh, dan moet je in mijn stukje code $art_nr en $aantal vervangen door $_POST['artikel_nr'] en $_POST['artikelaantal']. Maar dat kon je natuurlijk ook zelf bedenken.
Het hele row vs table locking voordeel gaat op bij veel writes, dus je testcase is waardeloosquote:Op woensdag 11 februari 2009 21:03 schreef Chandler het volgende:
Nee natuurlijk niet
Maar ik heb getest op een database van myISAM en dezelfde database maar dan geconverteerd naar innoDB en het verschil wsa praktisch nihil
ja toen ik het eenmaal door had heb ik dit geschrevenquote:Op woensdag 11 februari 2009 21:37 schreef Light het volgende:
[..]
Oh, dan moet je in mijn stukje code $art_nr en $aantal vervangen door $_POST['artikel_nr'] en $_POST['artikelaantal']. Maar dat kon je natuurlijk ook zelf bedenken.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | $p = count($_SESSION['artikelnr']); // k= aantal regels van het winkelmandje $k = 1; $totaalprijs= 0; for($i = 0; $i < $p; $i++) { if($_SESSION['artikelaantal'][$i] > 0 ) { if(is_numeric($_SESSION['artikelaantal'][$i])) { if($_SESSION['artikelaantal'][$i] <= $_SESSION['voorraad'][$i]) { echo '<tr>'; echo '<td>'.$k.'</td>'; echo '<td>'.$_SESSION['artikelnr'][$i].'</td>'; echo '<td>'.$_SESSION['omschrijving'][$i].'</td>'; echo '<td>'.$_SESSION['artikelaantal'][$i].'</td>'; echo '<td>'.$_SESSION['artikelprijs'][$i].'</td>'; echo '</tr>'; $k = $k+1; $totaalprijs = $totaalprijs +($_SESSION['artikelprijs'][$i] * $_SESSION['artikelaantal'][$i]); } } } } echo "<tr><td colspan =\"4\">Totaal prijs ¤".$totaalprijs."</td></tr></table></form><br/>"; } ?> |
1 |
* shrugs * kon zo ook jaquote:Op donderdag 12 februari 2009 00:38 schreef Roy_T het volgende:
Waarom gebruik je drie if's binnen elkaar, en niet gewoon:
[ code verwijderd ]
(het lijkt me overigens logischer om eerst te kijken of iets numeriek is, voordat je gaat kijken of het groter is dan 0)
In dit geval geen extra haakjes nodig hoorquote:Op donderdag 12 februari 2009 00:41 schreef cablegunmaster het volgende:
* shrugs * kon zo ook jamaar ik vind het zo'n gedoe met && en || dan moet je weer met extra haakjes werken
![]()
het is voor een school project waar niemand meehelpt en ik een hoog cijfer op ga halenquote:Op donderdag 12 februari 2009 00:43 schreef Roy_T het volgende:
[..]
In dit geval geen extra haakjes nodig hoor
Jouw manier werkt, maar is allesbehalve "marktconform" (en zou bij ieder bedrijf onacceptabel zijn).
extra overhead = rekenkracht ?quote:Op donderdag 12 februari 2009 00:58 schreef Roy_T het volgende:
Het idee is iig om geen overbodige statements te gebruiken, dus als het in één if kan: stop het in één if(tenzij het echt onleesbaar wordt, maar dat is hier niet het geval).
Wanneer "is_numeric($_SESSION['artikelaantal'][$i])" false is trouwens, dan voert 'ie de rest van de if niet uit, dus je zorgt niet voor extra overhead
tenzij je foutmeldingen of iets anders wilt triggeren, afhankelijk van wat er fout gaat, dan kom je er niet uit met 1 statement.... maar in dit geval (zonder else statements) is 1 statement wel een stuk netter ja.quote:Op donderdag 12 februari 2009 00:58 schreef Roy_T het volgende:
Het idee is iig om geen overbodige statements te gebruiken, dus als het in één if kan: stop het in één if(tenzij het echt onleesbaar wordt, maar dat is hier niet het geval).
Dat leek mij voor zich te sprekenquote:Op donderdag 12 februari 2009 08:28 schreef Xcalibur het volgende:
tenzij je foutmeldingen of iets anders wilt triggeren, afhankelijk van wat er fout gaat, dan kom je er niet uit met 1 statement.... maar in dit geval (zonder else statements) is 1 statement wel een stuk netter ja.
ik weet dat het met visio kan implementeren maar dat was ook ver van volledig maar je kon wel verbinding maken met de database en alles binnen halen. hoe en wat geen ideequote:Op donderdag 12 februari 2009 11:30 schreef Keiichi het volgende:
Weet iemand toevallig een scriptje/programma die een database structuur graphisch kan weergeven?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |