Na aanleiding van dit heb ik een script gemaakt dat de prijzen van producten in runescape haalt en deze vermenigvuldigd met de hoeveelheid die je hebt. Nu moet je in mijn formulier amount en id van het product invoeren nou is het lastig iedere keer het id van een product op te gaan zoeken dus was ik op zoek naar een of andere database waar ik eigenlijk de id's kan laten ophalen als je een naam invult. Weet iemand een geschikte manier om al deze id´s op te slaan? Mysql is mogelijk alleen zo lastig aan te passen als de id´s veranderen. Als je iets anders ziet post het graag ook.
Code:
<?php
//laat alle errors zien
ini_set('display_errors',1);
error_reporting(E_ALL);
//checkt of het formulier in is gevult
if($_SERVER['REQUEST_METHOD'] == "POST" ) {
//makkelijkere variablen maken
$amount1 = $_POST['amount1'];
$amount2 = $_POST['amount2'];
$amount3 = $_POST['amount3'];
$id1 = $_POST['id1'];
$id2 = $_POST['id2'];
$id3 = $_POST['id3'];
//Wat informatie die iederekeer hetzelfde is.
$search = "<b>Market price:</b> ";
$stopat = "</span>";
$timeout = 5;
$ch = curl_init();
//als er 1 item berekend word
if ($id1 != ''){
$url = "http://itemdb-rs.runescape.com/viewitem.ws?obj=".$id1;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$start = curl_exec($ch);
curl_close($ch);
$exploded = explode($search,$start);
$exploded = explode($stopat,$exploded[1]);
$result1 = str_replace('<br />','',nl2br($exploded[0]));
$price1 = $result1 * $amount1 ;
$price = $price1 ;
}
//als er 2 items berekend worden
if ($id2 != ''){
$url = "http://itemdb-rs.runescape.com/viewitem.ws?obj=".$id2;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$start = curl_exec($ch);
curl_close($ch);
$exploded = explode($search,$start);
$exploded = explode($stopat,$exploded[1]);
$result2 = str_replace('<br />','',nl2br($exploded[0]));
$price2 = $result2 * $amount2 ;
$price = $price + $price2 ;
}
//als er 3 items berekend worden
if ($id3 != ''){
$url = "http://itemdb-rs.runescape.com/viewitem.ws?obj=".$id3;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$start = curl_exec($ch);
curl_close($ch);
$exploded = explode($search,$start);
$exploded = explode($stopat,$exploded[1]);
$result3 = str_replace('<br />','',nl2br($exploded[0]));
$price3 = $result3 * $amount3 ;
$price = $price + $price3 ;
}
//het weergave
echo $price ;
}else{
//het formulier
?>
<html>
<head>
<title>Price check</title>
</head>
<body>
<form id="pricecheckform" name="pricecheckform" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<table width="75%"border="0">
<tr>
<td>Amount</td>
<td>Id</td>
</tr>
<tr>
<td><input type="text" name="amount1" id="amount1" /></td>
<td><input type="text" name="id1" id="id1" /></td>
</tr>
<tr>
<td><input type="text" name="amount2" id="amount2" /></td>
<td><input type="text" name="id2" id="id2" /></td>
</tr>
<tr>
<td><input type="text" name="amount3" id="amount3" /></td>
<td><input type="text" name="id3" id="id3" /></td>
</tr>
<tr>
<td></td>
<td><input name="calc" type="submit" value="Calculate" /></td>
</tr>
</table>
</form>
</body>
</html>
<?php
}
?>voorbeeld: klik
gebruik het volgende id: 359 of een andere xD
sorry als de uitleg wat onduidelijk is.
m.v.g.
Lolzzzman
edit:
postgresql enzo werken natuurlijk ook niet.