Meerdere arrays tegelijk?

Status
Niet open voor verdere reacties.

JohnnyReinders

Gebruiker
Lid geworden
2 mrt 2011
Berichten
118
Beste,

Nu ik weer een stukje verder ben met mijn code die tot zover volledig werkt, zit ik met het volgende. Ik heb nu een stuk code waarbij ik elke array 1 voor 1 weergeef. Dit werkt naar behoren, Maar bestaat er een functie of iets dergelijks die deze code kan verkorten zodat ik in vervolg niet meer zo lang stuk code heb, Ondanks dat het natuurlijk wel netjes en overzichtelijk is zo?

PHP:
			foreach($_POST["wtdescription"] as $wtdescription) 
		{
    		echo $wtdescription, " - ";
		}
		
		foreach($_POST["wtqty"] as $wtqty) 
		{
    		echo $wtqty, " - ";
		}
		
		foreach($_POST["wtprc"] as $wtprc) 
		{
    		echo $wtprc, " - ";
		}
		
		foreach($_POST["wtbtw"] as $wtbtw) 
		{
    		echo $wtbtw, " - ";
		}
		
		foreach($_POST["wttot"] as $wttot) 
		{
    		echo $wttot, "<br>";
		}

En wat zou dan de simpelste mannier zijn om dit netjes in een soort van "tabel" weer te geven? want nu word eerst de eerste array geschreven, dan de 2e etc. Ik zou liever dan die 1e array in een kolom willen hebben en dan de 2e in de volgende kolom. Waarschijnlijk is hier een heel simpel stukje code voor. Alleen kan ik er nu echt even niet opkomen.

In iedergeval alvast weer hardstikke bedankt voor de medewerking :D
 
Laatst bewerkt:
Als de aantallen altijd gelijk zijn (Dus wtdescription, wtqty, etc komen even vaak voor) dan kun je makkelijker een FOR-lus gebruiken en de specifieke rij uit de arrays pakken:
PHP:
<?php
// We gebruiken 1 array als referentiepunt om als aantal te kunnen gebruiken, in dit geval 'wtdescription'
/*
    Lange versie:
    $max = sizeof($_POST['wtdescription']);
    for ($i = 0;  $i < $max; $i++) {
*/
// Verkorte versie:
for ($i = 0, $max = sizeof($_POST['wtdescription']); $i < $max; $i++) {
    // $i wordt net zo vaak als er waardes in de array staan opgehoogd.
    printf(
        '%1$s - %2$s - %3$s - %4$s - %5$s',
        $_POST['wtdescription'][$i],
        $_POST['wtqty'][$i],
        $_POST['wtprc'][$i],
        $_POST['wtbtw'][$i],
        $_POST['wttot'][$i]
    );
    /*
        De eerste keer vragen we dus het eerste element van de arrays op,
        eigenlijk staat er dan dus dit:
    printf(
        '%1$s - %2$s - %3$s - %4$s - %5$s',
        $_POST['wtdescription'][0],
        $_POST['wtqty'][0],
        $_POST['wtprc'][0],
        $_POST['wtbtw'][0],
        $_POST['wttot'][0]
    );
    */
}
Wil je een tabel generen dan kun je eenvoudigweg het format van de printf, aanpassen:
PHP:
<table>
<?php
for ($i = 0, $max = sizeof($_POST['wtdescription']); $i < $max; $i++) {
    printf(
        '<tr>
            <td>%1$s</td>
            <td>%2$s</td>
            <td>%3$s</td>
            <td>%4$s</td>
            <td>%5$s</td>
        </tr>',
        $_POST['wtdescription'][$i],
        $_POST['wtqty'][$i],
        $_POST['wtprc'][$i],
        $_POST['wtbtw'][$i],
        $_POST['wttot'][$i]
    );
}
?>
</table>
 
Sorry voor mijn late reactie, heb het erg druk op het moment, Maar dit ziet er zeer goed uit ik dit zou ik heel goed kunnen gebuiken. Ik heb alleen nog 1 vraag en dat is, Waar staan de tekens voor die je tussen de <td> tags hebt gezet?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan