Query probleem...

Status
Niet open voor verdere reacties.

ChrisNL

Nieuwe gebruiker
Lid geworden
23 okt 2011
Berichten
3
Hallo allemaal. Ik heb een query probleem(pje).

Ik heb een formulier dat gegevens in de database schrijft. Maar... Ik wil die gegevens verifiëren of ze al bestaan. Er moeten 3 velden gecheckt worden:
1. Type; <- als ja check 2.
2. coordinates1; (+ of - 2 van bestaand record) <- als ja check 3. Als nee: insert record en echo "Mine posted succesfully in the database!"
3. coordinates2. (+ of - 2 van bestaand record) <- als ja echo "There is allready a mine of this type in the database on that location!"
(één coordinaat bestaat uit xxxxxx,xxx).

Een vergelijking-query voor 1 variable kan ik wel vinden. Maar een query voor 3 niet en ook niet hoe ik de + of - 2 vergelijking moet opbouwen.

Wie kan me helpen?!
Christiaan

Code:
<?
include 'mining_cfg.php';

// html collect variable

$type = $_POST['type']; 
$level = $_POST['level'];
$coordinates1 = $_POST['coordinates1'];
$coordinates2 = $_POST['coordinates2'];

if ($type == ".$type") AND if ($coordinates1 == ".$coordinates1") AND if ($coordinates2 == ".$coordinates2"){
echo "Mine posted succesfully!";
} else {
echo "There is allready a mine of this type in the database on that location!";
}

// sql insert into database  
$sql ="INSERT INTO mining(type, level, coordinates1, coordinates2)
VALUES ('".$type."', '".$level."', '".$coordinates1."', '".$coordinates2."')";

//uitvoeren van de query : 
if (!($temp = mysql_query($sql,$connection)))
showerror();
 
header ( "Location: http://swr.infiniteserve.com/swr-site/test/post_mining.php" ); 

?>
 
best maakt u een query met WHERE


ps het lukt me niet te begrijpen wat je wil doen


PHP:
<?
include 'mining_cfg.php';

// html collect variable

$type = $_POST['type']; 
$level = $_POST['level'];
$coordinates1 = $_POST['coordinates1'];
$coordinates2 = $_POST['coordinates2'];

if ($type == ".$type") AND if ($coordinates1 == ".$coordinates1") AND if ($coordinates2 == ".$coordinates2"){
echo "Mine posted succesfully!";
} else {
echo "There is allready a mine of this type in the database on that location!";
}

// sql insert into database  
//waarom onderstaande code niet in bovenstaande if staan moet je uitleggen
$sql ="INSERT INTO mining(type, level, coordinates1, coordinates2)
VALUES ('".$type."', '".$level."', '".$coordinates1."', '".$coordinates2."')";

//uitvoeren van de query : 
if (!($temp = mysql_query($sql,$connection)))
showerror();
 
header ( "Location: http://swr.infiniteserve.com/swr-site/test/post_mining.php" ); //dit vermijd je beter door $_SERVER["HTTP_HOST"]

?>
 
Okay. Wat ik wil bereiken:

Er is een bestaande database waarin locaties zijn opgeslagen. Dit zijn locaties van grondstof-mijnen in een spel.

Leden van de groep kunnen zelf grondstof-mijnen toevoegen aan de database. Maar, om dubbele invoer te voorkomen, wil ik graag dat de invoer gecheckt wordt.

De coordinaten zijn opgedeeld in 2 delen: xxxxxx,yyy. De query moet checken of er al een grondstofmijn ingevoerd is op die coordinaten (+ of - 2) en de invoer weigeren als het al bestaat. Bestaat het niet, dan mag de mijn toegevoegd worden.
 
bij het opmaken van de database kan je maken dat je geen dubbels mogen voorkomen dus bijgevolg krijg je een fout en kan je die opvangen met try{}catch{} waardoor je een passende fout geeft.
sorry te snelle reactie
je kan een cordinaat met met where van tot maken
 
Laatst bewerkt:
Enigste probleem is dat ik erg nieuw ben met SQL en niet weet hoe ik dat voor elkaar krijg... LOL
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan