De arrays beginnen pas bij 1 i.p.v. 0 en ik testte regelmatig met 0
Das niet gek he ;) Je maakt geen nette geindexeerde array meer, maar een associatieve (ook al gebruik je alleen integers denk ik) er is dus geen enkele garantie dat de serie bij 0 begint en geen getallen overslaapt (of uberhaupt oplopend verbonden is)
Je moet gewoon de hele $row in $userinfo douwen. daar over itereren en dan de id en naam (gok ik zo) pakken.
- Opdelen recordset in 5 delen
-
23-06-2013, 19:47 #16
- Berichten
- 153
- Lid sinds
- 14 Jaar
Re: Opdelen recordset in 5 delen
-
23-06-2013, 20:32 #17
- Berichten
- 703
- Lid sinds
- 17 Jaar
Re: Opdelen recordset in 5 delen
Hoi Henry,
Ben niet zo thuis in de arrays... Kun je me nog 'even' op weg helpen met wat je nu bedoelt?
Want het zal te maken hebben met deze regel:
$block[$row][$column] = $userinfo[$i];
Maar daar houdt het voor mij even op...
-
23-06-2013, 20:57 #18
- Berichten
- 153
- Lid sinds
- 14 Jaar
Re: Opdelen recordset in 5 delen
PHP Code:$userinfo = array();
while ($row_user = mysql_fetch_assoc($res))
{
$userinfo[] = $row_user; // Als je dit niet doet is je $userinfo geen nette indexed-array (google), maar een associatieve
}
$columnCount = 5;
$totalCount = count($userinfo);
$atLeastPerColumn = floor($totalCount / $columnCount);
$noOfColumnsWithOneMore = $totalCount % $columnCount;
$block = array();
$row = 0; $column = 0;
for($i=0; $i<$totalCount; $i++) {
if (($row == $atLeastPerColumn && $column >= $noOfColumnsWithOneMore) || $row> $atLeastPerColumn) {
$row = 0;
$column++;
}
$block[$row][$column] = $userinfo[$i];
$row++;
}
[I]print_r($block); // Nu zie je dat elke $block[i][j] zelf ook weer een array is, dus bij het outputten, moet je daar nog je id en naam uit pakken.
-
23-06-2013, 21:17 #19
- Berichten
- 703
- Lid sinds
- 17 Jaar
Re: Opdelen recordset in 5 delen
Top! Hier ga ik me mee redden!
Ik laat over een paar dagen van me horen (dan ga ik pas verder...)
-
29-06-2013, 18:14 #20
- Berichten
- 703
- Lid sinds
- 17 Jaar
Re: Opdelen recordset in 5 delen
Het duurde allemaal wat langer omdat ik tussendoor vader geworden ben :)
Ik heb nu het volgende:
Code:$userinfo = array(); while ($row_user = mysql_fetch_assoc($res)) { $userinfo[] = $row_user; } $columnCount = 5; $totalCount = count($userinfo); $atLeastPerColumn = floor($totalCount / $columnCount); $noOfColumnsWithOneMore = $totalCount % $columnCount; $block = array(); $row = 0; $column = 0; for($i=0; $i<$totalCount; $i++) { if (($row == $atLeastPerColumn && $column >= $noOfColumnsWithOneMore) || $row> $atLeastPerColumn) { $row = 0; $column++; } $block[$row][$column] = $userinfo[$i]; $row++; } foreach ($block as &$value) { $j++; if ($j < 3) { echo '<ul>'; } elseif ($j == 3) { echo '<ul class="gap">'; } elseif ($j == 4) { echo '<ul class="gap2">'; } elseif ($j == 5) { echo '<ul class="last">'; } //array doorlopen foreach ($value as &$value2) { echo '<li><a href="'.$value2['productcategorieid'].'">'.$value2['productcategorie'].'</a></li>'; } echo '</ul>'; }
En als ik zit te zeuren zou ik liever zien dat hij de eerste array langer maakte dan de laatste (dus i.p.v. 5-5-5-5-6 6-5-5-5-5)....
Nog een ideetje?
-
30-06-2013, 20:59 #21
- Berichten
- 153
- Lid sinds
- 14 Jaar
Re: Opdelen recordset in 5 delen
Even zonder in je code te duiken, druk, zou ik dit voorstellen:
$block[$row][$column] veranderen in $block[$column][$row]. 't Klinkt alsof je op de ene manier opbouwt en op de andere manier itereert.
Daarnaast: van harte gefeliciteerd!
-
04-07-2013, 16:10 #22
- Berichten
- 703
- Lid sinds
- 17 Jaar
Re: Opdelen recordset in 5 delen
Ja, dat is hem!
Henry echt superdeluxe bedankt voor alle support in dit stuk!
-
05-07-2013, 19:47 #23
- Berichten
- 153
- Lid sinds
- 14 Jaar
Re: Opdelen recordset in 5 delen
Geen probleem!
PM je even je adres voor de rekening? ;)
-
05-07-2013, 20:57 #24
- Berichten
- 703
- Lid sinds
- 17 Jaar
Re: Opdelen recordset in 5 delen
Haha, prima hoor... Al weet ik niet of een kratje bier over te maken is ;)
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic