Toon posts:

[PHP+SQL] array --> sql database

Pagina: 1
Acties:

Verwijderd

Topicstarter
hallo, ik zit met een probleempje...
ik ben bezig met een online enquete en tot nu toe gaat alles goed

bij de vragen kan ik dmv een keuzelijstje 1 t/m 10 kiezen als cijfer.

als ik dan submit gaat alles goed, de keuzes worden opgeslagen in een array.

Nu is mijn vraag, hoe kan ik de gegevens uit deze array in de sql database proppen?

Nu had ik in gedachten om daar 2 functies van te maken..

eentje om een antwoord op te slaan en eentje waar geloopt wordt totdat de laatste vraag is geweest.

maar ik heb geen idee hoe dit moet...

bvd

Verwijderd

Hoe ga je dit in een array meppen?
<input type='checkbox' name='blaat' value='1'>
<input type='checkbox' name='blaat' value='2'>

lijkt me dat je dan alleen maar $blaat in je sql db hoeft weg te kliederen . . . ???

Een array hierin bouwen lijkt me overbodig . . . of ik snap je vraagstelling nie helemaal lekker, in dat geval ffies meer uitleg :)

Verwijderd

Topicstarter
je kunt kiezen tussen 1 en 11

er wordt een drop down lijstje gecreert dmv een loopje

for i = 1 to 11 enz

en als alle vragen ingevuld zijn komen de antwoorden (dus getal tussen 1 en 11) in een array te staan. die antwoorden moeten dus in een tabel

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:38
Gewoon door je array loopen en voor iedere rij een INSERT statement doen.

https://fgheysels.github.io/


Verwijderd

Verwijderd schreef op 29 oktober 2003 @ 10:58:
je kunt kiezen tussen 1 en 11

er wordt een drop down lijstje gecreert dmv een loopje

for i = 1 to 11 enz

en als alle vragen ingevuld zijn komen de antwoorden (dus getal tussen 1 en 11) in een array te staan. die antwoorden moeten dus in een tabel
Right, je hebt dus 1 loopje met daarin je 11 vraagjes in een dropdown, met daarachter de radio buttons 1 t/m 10 ? ? ?

in dat geval :

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<select name='blaat'>
<?
for ($i = 1; $i <= 11; ++$i) {
  echo "<option value='[omschrijving vraag]> [vraag]";
}
?>
</select>
<?
for ($j = 1; $j <= 10; ++$j) {
  echo "<input type='checkbox' name='blaatje' value='$j'>$j";
}
?>

klaar :)

in je SQL zet je blaat (lees: de geantwoorde vraag) en blaatje (het antwoord zelf)

toch ? ? :)

[ Voor 30% gewijzigd door Verwijderd op 29-10-2003 11:05 ]


Verwijderd

Topicstarter
Verwijderd schreef op 29 oktober 2003 @ 11:04:
[...]


Right, je hebt dus 1 loopje met daarin je 11 vraagjes in een dropdown, met daarachter de radio buttons 1 t/m 10 ? ? ?

in dat geval :

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<select name='blaat'>
<?
for ($i = 1; $i <= 11; ++$i) {
  echo "<option value='[omschrijving vraag]> [vraag]";
}
?>
</select>
<?
for ($j = 1; $j <= 10; ++$j) {
  echo "<input type='checkbox' name='blaatje' value='$j'>$j";
}
?>

klaar :)

in je SQL zet je blaat (lees: de geantwoorde vraag) en blaatje (het antwoord zelf)

toch ? ? :)
neeej :)

ik heb een (of meerdere) vra(a)g(en), daarachter staat een drop down box met 10 vaste antwoorden (cijfers), die antwoorden worden in een array geplakt, en ik wil die antwoorden uit de array slepen, en in de database proppen.

Verwijderd

Topicstarter
ok hier een stukje code, dit is uit enquete.php:

hier word een keuzelijstje gemaakt van 1 t/m 10

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$query=mysql_query($sql);   
    print "<table border='1' cellspacing='0' cellpadding='5'>";
                print "<tr><td bgcolor='menu'>Vraagnummer</td>
<td bgcolor='menu'>Vraag</td>
<td bgcolor='menu'>categorie omschrijving</td><td bgcolor='menu'>antwoord</td></tr>";
        while ($row = mysql_fetch_array($query)) {
            print "<tr><td>".$row[Vid]."</td><td>".$row[Vraagomschrijving]."</td>
<td>".$row[Comschrijving]."</td><td><select name=\"antwoord[".$row[Vid]."]\">".makeOptions()."</select></td></tr>";
                        }
        print "</table>";

function makeOptions(){
    for($i=1;$i<11;$i++){
        $res .= "<option>".$i;
    }
    return $res;



na submit wordt dit verstuurd naar verstuur2.php.

en daar moet een functie komen die dus de gegeven antwoorden uit de array vist en ze op de goede plaats in de database zet.....

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
Verwijderd schreef op 29 oktober 2003 @ 12:05:
ok hier een stukje code, dit is uit enquete.php:

hier word een keuzelijstje gemaakt van 1 t/m 10

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$query=mysql_query($sql);   
    print "<table border='1' cellspacing='0' cellpadding='5'>";
                print "<tr><td bgcolor='menu'>Vraagnummer</td>
<td bgcolor='menu'>Vraag</td>
<td bgcolor='menu'>categorie omschrijving</td><td bgcolor='menu'>antwoord</td></tr>";
        while ($row = mysql_fetch_array($query)) {
            print "<tr><td>".$row[Vid]."</td><td>".$row[Vraagomschrijving]."</td>
<td>".$row[Comschrijving]."</td><td><select name=\"antwoord[".$row[Vid]."]\">".makeOptions()."</select></td></tr>";
                        }
        print "</table>";

function makeOptions(){
    for($i=1;$i<11;$i++){
        $res .= "<option>".$i;
    }
    return $res;



na submit wordt dit verstuurd naar verstuur2.php.

en daar moet een functie komen die dus de gegeven antwoorden uit de array vist en ze op de goede plaats in de database zet.....
zoals whoami al zei gewoon door je array heenlopen en voor iedere waarde een INSERT doen. Als je niet goed snapt hoe die array er nou uit komt te zien in je POST gebruik dan print_r eens
PHP:
1
print_r($_POST);


edit:
ik vind de wijze waarop je indent overigens nogal chaotisch. maakt het er niet echt leesbaarder op....

[ Voor 22% gewijzigd door marty op 29-10-2003 13:14 ]

Pagina: 1