PHP Get & Mysql

Status
Niet open voor verdere reacties.

codlevi

Gebruiker
Lid geworden
13 jul 2010
Berichten
88
Hallo allemaal,

Ik heb een site gemaakt, en ik heb een database gemaakt met row productnummers, daar staan allemaal cijfers in. Als ik in mijn adresbalk typ: mijnwebsite.com/index.php?productnummer=<willekeurig cijfer>, dan include index.php een bepaalde include. Maar ik wil iets maken waarbij php eerst check of het productnummer in de database bestaat, en dan pas include, of anders zegt dat dat nummer niet bestaat. Bijvoorbeeld als ik index.php?productnummer=5 intyp, terwijl 5 niet in de database staat, dat de index zegt dat de pagina niet bestaat.

Kan iemand mij daarmee helpen?

Codlevi
 
Dat kan gewoon zo:

PHP:
mysql_select_db($database, mysql_connect($host,$user,$password));

$result = mysql_query("SELECT productnummers FROM Producten WHERE id = ".$_GET["id"].";");

if(mysql_num_rows($result) == 1){
echo "product bestaat";
}else{
echo "Product bestaat niet of er zijn meer dan 1 producten gevonden met het zelfde id.";
}
 
Laatst bewerkt:
Dat kan gewoon zo:

PHP:
mysql_select_db($database, mysql_connect($host,$user,$password));

$result = mysql_query("SELECT productnummers FROM Producten WHERE id = ".$_GET["id"].";");

if(mysql_num_rows($result) == 1){
echo "product bestaat";
}else{
echo "Product bestaat niet of er zijn meer dan 1 producten gevonden met het zelfde id.";
}

Bedankt voor het snelle antwoord, maar dat bedoel ik niet. Ik heb een array ($row['productnummers']), en dat is een hele row met productnummers van de row uit de database, en ik heb een GET variable ($productnummer) uit de URL, als $productnummer overeenkomt met slechts één cijfer uit ($row['productnummer']), dan moet hij een bepaalde pagina include en anders zeggen dat ie niet bestaat.

Codlevi
 
Het kan wel, maar waarom heb je dan een database? Als je je halve database alsnog in een array gaat stoppen dan heeft dat toch weinig zin? of praten we hier volledig langs elkaar heen?
 
Je haalt eerst ALLE id's op uit de database, vervolgens zet je deze in een array en wil je daar in zoeken of de id bestaat in de array?
En wat nou als jij alles ophaalt uit de database, alles in de array zet en ik ondertussen id's zit te wijzigen of hele rows aan het verwijderen ben? Dan krijg je alsnog foutmeldingen.. :D

Maar goed als jij het op deze manier wilt, moet je even naar deze functie kijken: in_array();
PHP:
in_array($_GET["id"], $array);
 
Het kan wel, maar waarom heb je dan een database? Als je je halve database alsnog in een array gaat stoppen dan heeft dat toch weinig zin? of praten we hier volledig langs elkaar heen?

Nee, er komen elke keer nieuwe productnummers bij en het is makkelijker om die via een scriptje bij te werken dan iedere keer in de array zelf. Bovendien staan er nog veel meer gegevens in de database

En wat nou als jij alles ophaalt uit de database, alles in de array zet en ik ondertussen id's zit te wijzigen of hele rows aan het verwijderen ben? Dan krijg je alsnog foutmeldingen.. :D

Wat bedoel je daarmee?

Je haalt eerst ALLE id's op uit de database, vervolgens zet je deze in een array en wil je daar in zoeken of de id bestaat in de array?

Maar goed als jij het op deze manier wilt, moet je even naar deze functie kijken: in_array();
PHP:
in_array($_GET["id"], $array);

Dat is precies wat ik zocht, bedankt!
 
Wat ik bedoel:

Je haalt je id's op uit de database, gooit deze in een array en kijk in de array of de $_GET["id"] bestaat. Als die bestaat ga jij de pagina laden met de rest van de data uit de database neem ik aan?

Als jij dus alle id's opslaat in de array en ik wijzig een productID of verwijder een hele rij van een ID die voorkomt in jouw array nog voordat jij de data weer opgevraagd hebt uit de database. Krijg je een foutmelding dat het id niet bestaat.

Tja ligt het aan mij, of maak je nu een denk fout om het op deze manier te doen?
 
Ik gok op een denk fout en het niet begrijpen van het gebruiken van een database!
 
Wat ik bedoel:

Je haalt je id's op uit de database, gooit deze in een array en kijk in de array of de $_GET["id"] bestaat. Als die bestaat ga jij de pagina laden met de rest van de data uit de database neem ik aan?

Als jij dus alle id's opslaat in de array en ik wijzig een productID of verwijder een hele rij van een ID die voorkomt in jouw array nog voordat jij de data weer opgevraagd hebt uit de database. Krijg je een foutmelding dat het id niet bestaat.

Tja ligt het aan mij, of maak je nu een denk fout om het op deze manier te doen?

Ik zal de hele situatie uitleggen: ik heb een soort van CMS admin panel gemaakt waarmee ik het product kan veranderen. De pagina index.php?actie=wijzigen verwijst naar een pagina met een form waar je het productnummer van het product dat je wilt wijzigen kunt invoeren. Die form verwijst naar index.php?actie=wijzigen&productnummer=<productnummer die je hebt ingevoerd>. Dan moet hij op die pagina alles uit de database van dat product halen en laten zien. Maar daar gaat het niet om. Het gaat om, dat als ik in die form een productnummer intypt die niet bestaat, dat index.php?actie=wijzigen zegt dat het product niet bestaat.

Ik hoop dat jullie het nu begrijpen:)

Codlevi
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan