MediaWiki:Isbn-uprav-php
Z WikiSkript
<?php
$sqlsrvr = '';
$sqlbase = '';
$sqluser = '';
$sqlpswd = '';
function onlyNumbers($isbn) {
$returnValue = "";
for ($i = 0; $i < strlen($isbn); $i++) {
$char = substr($isbn, $i, 1);
//pokud je znak cislice nebo x (kontrolni znak v isbn10)
if ((ord($char) >= 48 && ord($char) <= 57) || $char == 'x' || $char == 'X') {
$returnValue .= $char;
}
}
return $returnValue;
}
if (isset($_GET['isbn'])) {
$isbnid = onlyNumbers($_GET['isbn']);
if (substr($isbnid, -1, 1) == 'x' || substr($isbnid, -1, 1) == 'x') {
$isbnid = substr($isbn, 0, -1);
}
$parametry = array('prijmeni1', 'prijmeni2', 'prijmeni3', 'jmeno1', 'jmeno2', 'jmeno3', 'korporace', 'kolektiv',
'titul', 'podnazev', 'vydani', 'misto', 'vydavatel', 'rok', 'url', 'rozsah', 'edice', 'svazek');
$con = mysql_connect($sqlsrvr, $sqluser, $sqlpswd);
if (!$con) {
die('Could not connect: ' . mysql_error() );
}
mysql_select_db($sqlbase, $con);
if ($error = mysql_error()) {
die('Could not select db: ' . $error);
}
//Je záznam v databázi?
$sql = 'SELECT * FROM `' . $sqlbase . '`.`ws_isbn` WHERE `isbnid`=\'' . $isbnid . '\';';
$result = mysql_query($sql);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
if ($row['isbn']) {
//Záznam je v databázi -> UPDATE
$sql = "UPDATE `". $sqlbase . "`.`ws_isbn` SET ";
$pridatCarku = false;
foreach ($parametry as $parametr) {
if ($pridatCarku) {
$sql .= ", ";
}
$sql .= "`" . $parametr . "`='" . $_GET[$parametr] . "'";
$pridatCarku = true;
}
$sql.= " WHERE `isbnid`='" . $isbnid . "';";
} else {
//Záznam není v databázi -> INSERT
$sql = "INSERT INTO `" . $sqlbase . "`.`ws_isbn` (`key`, `isbnid`, `isbn`";
foreach ($parametry as $parametr) {
$sql .= ", `" . $parametr . "`";
}
$sql .= ") VALUES ('', '" . $isbnid . "', '" . $_GET['isbn'] . "'";
foreach ($parametry as $parametr) {
$sql .= ", '" . $_GET[$parametr] . "'";
}
$sql .= ");";
}
$sql = mysql_query($sql);
if ($error = mysql_error()) {
die('Could not insert/update db: ' . $error);
}
echo $sql;
mysql_close($con);
}
?>