Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Basa de Dados - Inserir Dados

$
0
0
Nós temos vários itens na base de dados e queremos que ele actualize os preços de todos os itens.
O que temos para já é isto:

Código :
# Get price of item from database
$stmt = $db->prepare('SELECT * FROM items ');
$stmt->bindValue(':name', $marketName);
$stmt->execute();

$item = $stmt->fetch();

$price = intval($item['avgPrice30Days']);

# If the 30 day average is 0, set it to the 7 day average
if ($price === 0) {
$price = intval($item['avgPrice7Days']);
}

# If the 7 day average is 0 again, set it to the current price
if ($price === 0) {
$price = intval($item['currentPrice']);
}

if ($price === 0) {
$price = intval($item['suggestedPriceMin']);
}

# If all of those are 0, set it to the Steam market price
if ($price === 0) {
$hash = urlencode($marketName);
$marketObj = json_decode(file_get_contents("http://steamcommunity.com/market/priceoverview/?currency=1&appid=730&market_hash_name=$hash"), true);
if ($marketObj['success'] !== true) {
echo jsonErr('An error occured while fetching market price for an item.');
return;
}

$medianPrice = $marketObj['median_price'];
$lowestPrice = $marketObj['lowest_price'];

if (!isset($medianPrice) && !isset($lowestPrice)) {
echo jsonErr('One or more items was not found on the steam market place.');
return;
}

if (isset($medianPrice)) {
$price = doubleval(substr($medianPrice, 1)) * 100;
} else {
$price = doubleval(substr($lowestPrice, 1)) * 100;
}

$insert_price="insert into items (avgPrice7Days) VALUES ('$price') Where marketName is $marketName"

$do_insert_price=mysql_query($insert_price);

}

Base de dados com mais de 5000 itens:
http://prntscr.com/8lmifp

Queremos que ele corra o código por cada item e que altere o preço na base de dados consoante o preço obtido no url inserido no código.
O grande problema está em saber se ao seleccionar todos os itens, o código corre com os dados de um só item de cada vez ou de todos os itens.
Para o código resultar precisamos também de ter o nome do item presente na base de dados (não sei se a 2ª linha de código está a funcionar pois supostamente é esta que vai buscar o nome do item).

Queríamos ajuda para correr o código.

Viewing all articles
Browse latest Browse all 14700