query result vergelijken met post variabele...
Hoi,
Ik heb een vraagje. Ik wil een actie uitvoeren [een categorie toevoegen in een database tabel] Maar ik wil deze actie alleen uitvoeren als deze nog niet als categorie bestaat in de database.
Ik moet dus eerst kijken of deze categorie al bestaat. Wat ik nu doe is een query uitvoeren. Het resultaat is dit:
$row_HC['hc_cat']
Als ik hier een loop over uitvoer laat de browser op het scherm alle resultaten zien.
Hoe kan ik nu de ingevulde categorie: $_POST['h_ow'] vergelijken met de categorieen in de database?
Zoiets als dit: [?]
if ((isset($_POST['h_ow'])) && ($_POST['h_ow'] != $row_HC['hc_cat']))
Of wordt er dan alleen het eerste resultaat van de database query vergeleken? Of moet ik de functie list() of array() gebruiken?
Zou iemand me hier iets over kunnen uitleggen?
groet, Kabbi
Ik heb een vraagje. Ik wil een actie uitvoeren [een categorie toevoegen in een database tabel] Maar ik wil deze actie alleen uitvoeren als deze nog niet als categorie bestaat in de database.
Ik moet dus eerst kijken of deze categorie al bestaat. Wat ik nu doe is een query uitvoeren. Het resultaat is dit:
$row_HC['hc_cat']
Als ik hier een loop over uitvoer laat de browser op het scherm alle resultaten zien.
Hoe kan ik nu de ingevulde categorie: $_POST['h_ow'] vergelijken met de categorieen in de database?
Zoiets als dit: [?]
if ((isset($_POST['h_ow'])) && ($_POST['h_ow'] != $row_HC['hc_cat']))
Of wordt er dan alleen het eerste resultaat van de database query vergeleken? Of moet ik de functie list() of array() gebruiken?
Zou iemand me hier iets over kunnen uitleggen?
groet, Kabbi
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$query = mysql_query("SELECT * FROM tablename etc") or die(mysql_error());
$bestaat = mysql_num_rows($query);
if($bestaat == 0)
{
//zet cat erin
}
else
{
//foutje
}
?>
$query = mysql_query("SELECT * FROM tablename etc") or die(mysql_error());
$bestaat = mysql_num_rows($query);
if($bestaat == 0)
{
//zet cat erin
}
else
{
//foutje
}
?>
Hoi,
Bedankt!
Maar hoe wordt nu de $_POST['h_ow'] ingevoerd in het veld vergeleken dan?
Groet. Kabbi
Bedankt!
Maar hoe wordt nu de $_POST['h_ow'] ingevoerd in het veld vergeleken dan?
Groet. Kabbi
Elke keer als iemand een item invioert met een nieuwe categorie, moet deze categrie [indien dus nog niet bestaat in de categorie tabel] worden toegevoegd in de categorie tabel....
de naam van de categorie zit in $_POST['h_ow'] ?
in dat geval kan je dit doen:
zeg anders even de velden van je database
in dat geval kan je dit doen:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$catnaam = $_POST['h_ow'];
SELECT * FROM categories WHERE catnaam = '$catnaam'
?>
$catnaam = $_POST['h_ow'];
SELECT * FROM categories WHERE catnaam = '$catnaam'
?>
zeg anders even de velden van je database
De tabel in de database UNIQUE maken.
Hmmm ja klinkt idd wel logisch :)...
Dank je!!
Dank je!!
En dan de gegevens gewoon met een INSERT wegschrijven in de database. Staan de gegevens al in de database, dan zal de query keurig mislukken. Dat kun je constateren door de foutmelding op te vangen met de functie mysql_errno() en te vergelijken met 1062 (of 1064). Dat is de foutcode die je krijgt bij het invoeren van een dubbele waarde in een kolom met UNIQUE.
Uiteraard kan er nog veel meer misgaan met het uitvoeren van een query, dat moet je ook nog opvangen. Maar dat zal niets nieuws onder de zon zijn.
Uiteraard kan er nog veel meer misgaan met het uitvoeren van een query, dat moet je ook nog opvangen. Maar dat zal niets nieuws onder de zon zijn.




