[php] for-lus met count en checkbox

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
eerst ff alles op een rij, dan komt de vraag:
m'n count (test_for.php):
PHP:
1
2
3
4
5
6
<?
for($i=0; $i<count($check); $i++)
{
        echo $check[$i] . "<BR>\n";
}
?>

m'n form waaruit $check komt:
PHP:
1
2
3
4
5
6
7
8
9
10
11
<form action="test_for.php" methode="post">
<?
while($row = mysql_fetch_array($result))
{
?>
<input type="checkbox" name="check" value="<?php echo $row["nr_trein"]; ?>"><BR>
<?
}
?>
<input type="submit" name="submit">
</form>

dit geheel werkt, maar niet zoals ik het wil.
Hij print eerst als waarde 1, soms 5, of 4 of 3 8)7
toen ben ik in m'n boeken kast geklommen en heb ik dit uit een boek gehaalt en getest:
PHP:
1
2
3
4
5
$array = array(1,2,3,4,5);
for($i=0; $i<count($array); $i++)
{
echo $array[$i] . "<BR>\n";
}

dit werkte wel, maar ik kan niet de fout vinden waarom mijn script het niet doet, het is nml bijna hetzelfde.
Ik het de befaamde omega search gebruikt, tutjes bekeken, op php.net gekeken, maar ik kom er niet meer uit ;(
dan nu de vraag:
hoe krijg ik een zinnige echo van nr_trein ipv 1,3,4 of 5 :?

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


Acties:
  • 0 Henk 'm!

  • wacco
  • Registratie: Augustus 2002
  • Laatst online: 21-03-2023

wacco

cli, hlt.

Je moet waarschijnlijk je mysql query ff sorteren, want je db bevat je 1,2,3,etc door elkaar (i think, ik weet je db niet en je query ook niet)
dus:

SORT BY treintje_nr DESC

(als ik het goed heb)

[ Voor 1% gewijzigd door wacco op 27-11-2002 21:20 . Reden: typo ]

Spolap: Interactive webcomic


Acties:
  • 0 Henk 'm!

Verwijderd

maak anders eens gebruik van print_r om de inhoud van je array te zien. Weet je namelijk zeker dat het daar wel goed in staat?

edit:

sowieso zal er nog wel het een en ander verandert moeten worden. in test_for.php wordt namelijk nergens $check gedefinieerd. Kijk hiervoor eens naar bijvoorbeeld $_POST.

De magische regel blijft: Maak gebruik van error_reporting(E_ALL) 8)

Volgens mij worden de indexen van arrays overigens met enkele aanhalingsteken weergegeven, dus $array['nr_trein'] ipv $array["nr_trein"]

en de tijd dat we <BR> gebruikten is al enige tijd voorbij... :X

[ Voor 70% gewijzigd door Verwijderd op 27-11-2002 21:32 . Reden: wat extra info ]


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

Een array doorlopen gaat makkelijker met foreach, en zeker in dit geval, wanneer je niet zeker bent van wat de index precies is:

PHP:
1
2
3
foreach ($check as $check_index => $check_value) {
  echo "\$check[$check_index] = $check_value <BR>";
}
Verwijderd schreef op 27 November 2002 @ 21:22:
Volgens mij worden de indexen van arrays overigens met enkele aanhalingsteken weergegeven, dus $array['nr_trein'] ipv $array["nr_trein"]
Maakt niet uit, kan allebei geen van beide is 'beter'
en de tijd dat we <BR> gebruikten is al enige tijd voorbij... :X
Is dat zo? en waar baseer jij dat op? :)

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
Verwijderd schreef op 27 november 2002 @ 21:22:

De magische regel blijft: Maak gebruik van error_reporting(E_ALL) 8)
dat staat standaard aan, en ik heb maar een stukje code gekopieerd ;)
trouwens <BR> is verdo :9 mde handig hoor :)

Ik ga het eerst maar es proberen met foreach, dan zal ik m'n bevinding posten
alvast bedankt :)

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • CyberJack
  • Registratie: Augustus 2002
  • Laatst online: 03-09 14:36
je kan 2 dingen doen. 1 zoals eerder aangegeven doe een sort bij je sql query,
of 2 doe een sort op je array

php.net uitleg over sort

Suc6

https://bottenberg.dev


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

En doe 't dan dus vooral met MySQL, want daar is MySQL voor :/

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 02-09 11:02

D2k

drm schreef op 28 november 2002 @ 09:30:
En doe 't dan dus vooral met MySQL, want daar is MySQL voor :/

klinkt als een performance test?? >:)

Doet iets met Cloud (MS/IBM)


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Nee, dat klinkt als "The right tool for the right job" ;) Maar als jij graag een performance testje wil bouwen, ik hou je niet tegen :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
<input type="checkbox" name="check[]" value="<?php echo $row["nr_trein"];

Je moet de naam van je inputvariabele veranderen, anders ziet php niet dat het een array is. Het kan volgens bovenstaande oplossing, maar beter is om de waarde van de primaire sleutel tussen die haken te zetten, zodat je zeker weet dat het goed gaat.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
idd het waren [] die fout zaten, dank allen

ps voor Thomaske:
ik je foreach-lus niet gebruikt omdat die [] langs kwamen en ik ben liever lui dan moe ;)
toch bedankt voor het helpen
natuurlijk bedankt aan iedereen :)

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


Verwijderd

thomaske schreef op 28 November 2002 @ 00:25:
[...]

Is dat zo? en waar baseer jij dat op? :)
tegenwoordig is het toch minimaal <br>, of eigenlijk <br/>

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Verwijderd schreef op 28 November 2002 @ 20:09:
[...]


tegenwoordig is het toch minimaal <br>, of eigenlijk <br/>


maar eigenlijk <br />. ;)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Sterker nog, de <br /> kun je beter helemaal niet gebruiken, gezien je zoveel mogelijk met stylesheets op moet kunnen lossen. Aangezien je anders uiterlijkheden "hard-coded" in gaat voeren. Dus gemelp over wat voor 'br' -tag dan ook vind ik eigenlijk grote onzin :)

verder in w&G? :+

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1