[PHP] vanuit Selectbox IN database

Pagina: 1
Acties:

  • Life-is-party
  • Registratie: Oktober 2000
  • Laatst online: 14-02-2023
Oké ik ga hier niet om een kant-en-klaar script vragen. alleen ik zit vast. wie helpt me op weg.

Wat heb ik:
Oké het onderwerp is: Functies van GSM's.

Ik heb 2 tabellen.
- 1.: 'Functies' : IDFunctie, Functienaam, Functieomschrijving
- 2.: 'GSMFuncties' : IDGsm, IDFunctie.
die eerste tabel spreekt voor zich. De tweede daarin wordt dus verteld welke functies een gsm heeft. dus word de ID van de GSM gecombineerd met die van een Functie.

Wat wil ik, wat is het doel van het script:
Nu wil ik dat je dus op een pagina kan aanklikken. Via van die vinkjes selectboxjes, welke Functies er bij een GSM horen.
Dus: Je hebt een GSM geselecteerd. En dan krijg je een hele lijst met alle functies (die in de tabel 'functies') staan. onder elkaar met een selectbox ervoor. Dan kan je aanvinken wel functies de GSM heeft. En vervolgens submitten.

Dán moet hij dus van alle aangevinkte dingen, gaan inserten in de database. Dus dan moet hij een row gaan aanmaken in de tabel 'GSMFuncties'. met IDGsm en IDFunctie.

Wat heb ik al geprobeerd, hoe is mijn gedachten gang
Máár hoe krijg ik dit nou voor mekaar.
Ik heb al geprobeerd (gedacht aan):
- via een While. alles functies uit een database halen. en dan checken of ze waren meegegeven met de array. Maar dan kwam ik niet uit hoe ik dit moest gaan checken. heel stom.
dacht ik:
PHP:
1
<?WHILE ($record=mysql_fetch_array($res) { IF ($record[IDFunctie] "in de $HTTP_POST_VARS-array") { INSERT }ELSE { doe niks :p )?>

maar nu weet ik dus neit hoe ik moet checken. "in de $HTTP_POST_VARS-array

wie helpt. misschien een totaal andere manier?

Acer TM661LMi - Intel Centrino 1,4 Ghz - 512mb ram - DVD-RW


  • Grum
  • Registratie: Juni 2001
  • Niet online
zou het misschien HEEL MISSCHIEN TOCH ECHT WEL HEEEEEEEEEEEEEEEEEEEEEEEL MISSCHIEN MET DE FUNCTIE in_array zijn ? ..

:o

  • Life-is-party
  • Registratie: Oktober 2000
  • Laatst online: 14-02-2023
* Life-is-party schaamt zich diep dat hij deze functie niet kende, maar is heel blij dat er nog altijd lieve mensen zijn die hem hierop wijzen.:)

http://www.php.net/manual/en/function.in-array.php

Bedankt!

Acer TM661LMi - Intel Centrino 1,4 Ghz - 512mb ram - DVD-RW


  • Grum
  • Registratie: Juni 2001
  • Niet online
PS: ff complimentjes (van mij EN ACM) voor je nette post - helaas was het een enorme RTFM vraag :+

  • Life-is-party
  • Registratie: Oktober 2000
  • Laatst online: 14-02-2023
Dankje, klopt het was wel een hele RTFM vraag, maar ik werd helemaal gek. ik dacht nu tik het uit en post ik het. Want ik wist dat het mogelijk was, alleen niet meer hoe.

Acer TM661LMi - Intel Centrino 1,4 Ghz - 512mb ram - DVD-RW


Verwijderd

Op vrijdag 15 maart 2002 16:37 schreef Grum het volgende:
PS: ff complimentjes (van mij EN ACM) voor je nette post - helaas was het een enorme RTFM vraag :+
Helaas zag jou antwoord er niet uit, wat een rotzooi zeg ;)

  • Life-is-party
  • Registratie: Oktober 2000
  • Laatst online: 14-02-2023
Oké. ik ben flink op weg geholpen, ik zie het niet somber meer in. Alleen nu lukt het nog steeds niet :'( Wat ik wil:

Ik heb deze array.
code:
1
2
3
4
5
6
7
8
9
Array
(
    [IDGsm] => 180
    [Spelletjes] => Spelletjes
    [T9] => T9
    [Trilfunctie] => Trilfunctie
    [Voicedailing] => Voicedailing
    [Wap] => Wap
)

(ps. misschien moet ik een ander soort Array maken. kweet niet)
En nu heb ik het volgende stukje code geschreven.
PHP:
1
<?WHILE ($recf = mysql_fetch_array($RESf))  {  echo "<BR>- $recf[Functienaam]";  $key[$i] = in_array('$recf[Functienaam]', $HTTP_POST_VARS,true);  echo " - $key[$i]";  }?>

Dit zou als het goed is, het volgende moeten weergeven
code:
1
2
3
4
5
6
7
- GPRS - 
- Infrarood -
- Spelletjes - 1
- T9 - 1
- Trilfunctie - 1
- Voicedailing - 1
- Wap - 1

alleen wat krijg ik:
code:
1
2
3
4
5
6
7
- GPRS - 
- Infrarood - 
- Spelletjes - 
- T9 - 
- Trilfunctie - 
- Voicedailing - 
- Wap -

waar zit dus m'n denk en/of code fout?

Acer TM661LMi - Intel Centrino 1,4 Ghz - 512mb ram - DVD-RW


Verwijderd

Uhm ik kan me vergissen(dat heeft dan te maken met mijn kachelschap omdat ik beetje op stap geweest ben) maar je houd nergens een $i bij en op het eerste oog lijkt mij dat namelijk wel handig.

nou zeg je dus zet maar alle functienamen erop met het bovenste stukje. Maar ik zie dus niet waar je iets met die $i aan het doen bent of heb je die eerder gedeclareert?

laat het ff weten of het lukt anders ga ik het ff na proberen te bouwen *D

  • Life-is-party
  • Registratie: Oktober 2000
  • Laatst online: 14-02-2023
Ik zit nu naar m'n code te kijken, en ik vraag me zelf eigenlijk ook af waarom ik die [$i] heb staan daar.

Oké, [$i] weggehaald uit m'n code.

Helaas geen verschil in resultaat. nog steeds dezelfde uitkomst.

-update-
Oké om het nog iets duidelijker te maken hoe ik die selectboxjes genereer (misschien helpt het? :)):
PHP:
1
<?WHILE ($record = mysql_fetch_array($RESf))  {  echo "<TR><TD></TD><TD><INPUT TYPE=checkbox NAME=$record[Functienaam] VALUE=$record[Functienaam]>$record[Functienaam]</TD></TR>";  }?>

Acer TM661LMi - Intel Centrino 1,4 Ghz - 512mb ram - DVD-RW


  • Life-is-party
  • Registratie: Oktober 2000
  • Laatst online: 14-02-2023
Zou ik alles uit die selectboxjes in een Functie array() moeten stoppen. dus alles apart nummeren

Name=Functie[$i] value=$recf[Functienaam]

Máár hoe zoek ik dan in die Functie array. Je krijgt dan namelijk dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
Array
(
    [IDg] => 180
    [Functie] => Array
      (
        [0] => Spelletjes
        [1] => T9
        [2] => Trilfunctie
        [3] => Voicedailing
        [4] => Wap
      )
)

Hoe moet ik dan m'n:
code:
1
in_array('$recf[Functienaam]', $HTTP_POST_VARS,true)

aanpassen.
als ik er dan dit van maak.
code:
1
in_array('$recf[Functienaam]', $Functie,true)

dan krijg ik nog steeds geen goed antwoorden.

Dus welke volgende stap moet ik nemen, wat doe ik fout?

Acer TM661LMi - Intel Centrino 1,4 Ghz - 512mb ram - DVD-RW


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Haal die '' es weg bij je in_array?

Tenminste ik neem aan dat die $recf[Functienaam] een string bevat en dat je niet zoekt op de letterlijke tekst '$recf[Functienaam]'

  • Life-is-party
  • Registratie: Oktober 2000
  • Laatst online: 14-02-2023
YES, it works. I'm so happy.

Hartstikke bedankt! :):):)

en wéér veel geleerd :-)

Acer TM661LMi - Intel Centrino 1,4 Ghz - 512mb ram - DVD-RW

Pagina: 1