[php/mysql] hoe dit verder?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een databaseje met 3 velden: id, naam en prijs.
Er staan producten in, 5 stuks wel te verstaan.

Nu heb ik het volgende script die de producten uit de database haalt en zo in een formulier met checkboxes zet. Voor ieder product een checkbox:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
<form action="drie.php" method="post" enctype="multipart/form-data">
<?php
$db = mysql_connect("localhost", "root", ""); 
mysql_select_db("som",$db); 

$query = "SELECT id, naam, prijs FROM producten ORDER BY id DESC";
$result = mysql_query($query);
while(list($id, $naam, $prijs) = mysql_fetch_row($result)){
print "<input type=\"checkbox\" value=\"".$id."\">".$naam."<br>";
}
echo "<input type=submit value=Verzenden>";
?>

</html>


Wanneer ik nu op verzenden klik moet er een nieuwe pagina worden geopend die de geselecteerde producten laat zien, en van alle producten die geselecteerd zijn, de prijzen bij elkaar optelt en weergeeft. En daar kom ik dus niet uit.
Dit is wat ik al heb:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$db = mysql_connect("localhost", "root", ""); 
mysql_select_db("som",$db); 

$result = mysql_query("SELECT * FROM producten WHERE id=$id");
$myrow = mysql_fetch_array($result); 

echo "<table border=1>";
echo "<tr><td>naam</td><td>prijs</td></tr>";

while($myrow = mysql_fetch_array($result)) 
{
echo "<tr><td>";
echo $myrow["naam"];

echo "<td>";
echo $myrow["prijs"];
}

echo "</table>";

?>


Nu weet ik dat er nog een lus in moet, en ergens klopt er in die query ook iets niet, maar ik kom er niet meer uit. Om de prijzen op te tellen moet er iets met SUM in, maar ook dat is me niet helemaal duidelijk.

Ik hoop dat iemand mij hier mee op weg kan helpen, dat zou heel rielekst zijn :)

Alvast bedankt !

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Volgens mij het stukkie WHERE id=$id

als ik dit namelijk weghaal dan doet ie het wel, maar ja dan krijg ik niet de opties die ik geselecteerd heb te zien, maar alles :)


[...]

ff linkje zoeken..[/quote]

Acties:
  • 0 Henk 'm!

  • Chieliot
  • Registratie: September 2001
  • Laatst online: 08-09 13:41
Om een aantal checkboxen uit te lezen op geselecteerd ofniet is het handig dit met een array te doen:
PHP:
1
print "<input type=\"checkbox\" value=\"".$id."\" name=\"geselecteerd[]\">";


Nu komt elk item dat geselecteerd is in de array geselecteerd te staan, met SizeOf en een simpele for loop kan je de gegevens uit de array halen.

AMD XP1800+, 512MB Intern, Maxtor 160Gig, Matrox G550 32 DDR Dual Head in een Chieftec DX-01-SLD


Acties:
  • 0 Henk 'm!

Verwijderd

Functie LIMIT?
SELECT * FROM blaat WHERE blaat='bbb' LIMIT 1,2
(vanaf de 2e record en dan 2 stuks ofzoiets)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Chieliot schreef op 06 June 2003 @ 18:07:

Nu komt elk item dat geselecteerd is in de array geselecteerd te staan, met SizeOf en een simpele for loop kan je de gegevens uit de array halen.
Zou je daar misschien een voorbeeldje van kunnen geven aub?

Ik ben hier echt de halve middag al mee bezig en heb niet zo veel puf meer. :|

Acties:
  • 0 Henk 'm!

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Zou je daar misschien een voorbeeldje van kunnen geven aub?

Ik ben hier echt de halve middag al mee bezig en heb niet zo veel puf meer.
Sorry hoor maar zo werkt het niet he. Je hoeft niet te verwachten dat wij jou script gaan afmaken. Tips kunnen we je alleen wel geven ;)
Volgens mij het stukkie WHERE id=$id

als ik dit namelijk weghaal dan doet ie het wel, maar ja dan krijg ik niet de opties die ik geselecteerd heb te zien, maar alles
Allereerst moet je zorgen dat je alle id's van de geselecteerde checkbox'en krijgt. Dit kan op twee manieren:
1)Middels een array je form-collectie door te lopen
2)Door ze dezelfde name-waarde te geven icm het SQL statement IN()

Daarnaaast moet je of in je query of dmv php bepalen hoeveel records er zijn gevonden en deze vervolgens vermenigvuldigen met de corresponderende prijs, that's it :)

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
DeverauX schreef op 06 June 2003 @ 18:18:
[...]

Sorry hoor maar zo werkt het niet he. Je hoeft niet te verwachten dat wij jou script gaan afmaken. Tips kunnen we je alleen wel geven ;)
Dat snap ik ook wel. Ik zit ook niet te wachten op een compleet script, maar aangezien ik nou eenmaal niet zoveel programmeer ervaring heb, kom ik daar zelfstandig niet uit.
Echter aan de hand van een voorbeeld zou ik al een heel stuk verder komen.
En met een voorbeeld bedoel ik niet een compleet script :)

Maar goed als ik hier nou net een kwartier mee bezig was en het lukt niet...

...maar ik zit de hele middag al te kloten :D

Acties:
  • 0 Henk 'm!

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

...maar ik zit de hele middag al te kloten
Ik ga ervanuit dat je PHP in ieder geval enigzins onder de knie hebt :?
Anders denk ik dat je beter eerst eens even een tutorial moet gaan bekijken.
Trouwens: ik denk wel dat je veel inspiratie kan opdoen in het volgende topic.

Veel succes :)

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones

Pagina: 1