01. maj 2014 - 00:00
Der er
7 kommentarer og
1 løsning
Hjælp til at hente korrekt resultat fra database
Hej,
Jeg har en problemstilling jeg håber I kan være med til at løse.
Jeg har en selectbox, hvor jeg har nogle options der er hentet ud fra min database fra en tabel kaldet "Events", og det fungerer fint.
<?php
$success = mysql_query("SELECT * FROM Events");
while($row = mysql_fetch_object($success)){
echo "<option value=\"". utf8_decode($row->Name) ."\">". utf8_encode($row->Name) ." (". utf8_encode($row->Club) .")" . "</option>\n";}
?>
Nu er jeg så i den situation at jeg gerne vil finde en bestemt record i tabellen ud fra mit valg i selectboxen. Jeg har en værdi kaldet "Price". Jeg vil gerne kunne hente prisen for det valgte.
Er der nogen der kan hjælpe med det?
P.S. Jeg er helt ny, og ønsker virkelig bare hjælp :-)
På forhånd mange tak.
Jeg er et eksempel jeg har lavet. Har dog ikke testet det, og det er ikke klar til at blive lagt på nette, da det ikke sanitizer get værdien og derfor forsage SQL injection.
SQL kodeb:
CREATE DATABASE `booking`;
CREATE TABLE `booking`.`events` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NOT NULL,
`club` VARCHAR(45) NOT NULL,
`price` DECIMAL(30) NOT NULL,
PRIMARY KEY (`id`));
INSERT INTO `booking`.`events` (`name`, `club`, `price`) VALUES ('Roskilde F', 'Orange', '100000.45');
INSERT INTO `booking`.`events` (`name`, `club`, `price`) VALUES ('Sort Sol', 'Vega', '542');
INSERT INTO `booking`.`events` (`name`, `club`, `price`) VALUES ('La Roux', '5 Øren', '450');
INSERT INTO `booking`.`events` (`name`, `club`, `price`) VALUES ('Gesaffelstein', 'DR Koncert', '700');
INSERT INTO `booking`.`events` (`name`, `club`, `price`) VALUES ('Daft Punk', 'Operaen', '1200.32');
CREATE USER 'bookie'@'localhost' IDENTIFIED BY '***';GRANT USAGE ON *.* TO 'bookie'@'localhost' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;GRANT ALL PRIVILEGES ON `booking`.* TO 'bookie'@'localhost';
PHP - club_events.php
<html>
<head>
<title>Club Events</title>
</head>
<body>
<div id="form">
<form action="club_events.php" method="get">
Select Event:<br />
<div id="combobox">
<select name="events">
<?php
$db = mysqli_connect('127.0.0.1', 'bookie', 'nbfDwR9ApeUmHx6A', 'booking') or die("Database error");
if (mysqli_connect_errno())
{
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT id, name, club FROM events";
if ($result = mysqli_query($db, $query))
{
while ($obj = mysqli_fetch_object($result)) {
printf ('<option value="%s"> %s ( %s )</option><br />', $obj->id, $obj->name, $obj->club);
}
}
mysqli_free_result($result);
?>
</select>
</div>
<input type="submit" value="Submit">
</form>
</div>
<div id="result">
<?php
$e = $_GET["events"];
if(isset($e))
{
$query = "SELECT id, name, club, price FROM events WHERE id = '". $e ."'";
if (mysqli_connect_errno())
{
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if ($result = mysqli_query($db, $query))
{
echo "Price list:<br />";
while ($obj = mysqli_fetch_object($result)) {
printf ("Event: %s, Club: %s, Price: %s\n", $obj->name, $obj->club, $obj->price);
}
mysqli_free_result($result);
}
}
mysqli_close($db);
?>
</div>
</body>
</html>