Hulp met CMS
Ik heb een CMS waarmee ik gerechten aan een database kan toevoegen.
Ik heb 1 database met 1 tabel. Deze tabel bevat 4 velden.
Naam - Afbeelding - Prijs en Categorie
Nu wil ik dat als ik bij mijn keuze formulier bijv. voorgerecht selecteer dat er dan in de database een "V" komt van voorgerecht. En een "H" van hoofdgerecht enz.
Hoe moet ik dit aanpakken?
TOEVOEGEN AAN DATABASE
FORMULIER KEUZE
Ik heb 1 database met 1 tabel. Deze tabel bevat 4 velden.
Naam - Afbeelding - Prijs en Categorie
Nu wil ik dat als ik bij mijn keuze formulier bijv. voorgerecht selecteer dat er dan in de database een "V" komt van voorgerecht. En een "H" van hoofdgerecht enz.
Hoe moet ik dit aanpakken?
TOEVOEGEN AAN DATABASE
Code (php)
1
$sql = 'INSERT INTO '.$toevoegenaan.' (naam, afbeelding, prijs, categorie) VALUES ("'.$naamgerecht.'","'.$afbeelding.'","'.$prijs.'","'.$categorie.'");';
FORMULIER KEUZE
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<td>
<select name="toevoegenaan">
<option value="Voorgerecht">Voorgerecht</option>
<option value="Hoofdgerecht">Hoofdgerecht</option>
<option value="Nagerecht">Nagerecht</option>
</select>
</td>
<select name="toevoegenaan">
<option value="Voorgerecht">Voorgerecht</option>
<option value="Hoofdgerecht">Hoofdgerecht</option>
<option value="Nagerecht">Nagerecht</option>
</select>
</td>
Gewijzigd op 28/04/2011 17:21:13 door Evert Ekans
Je maakt een formulier met php in die php check je of het formulier verzonden is.
En dan de keus aan je query toevoegen
En dan de keus aan je query toevoegen
Kijken welke waarde toevoegenaan heeft, wanneer het 'Voorgerecht' is noem $categorie dan 'Voorgerecht'. Dit dit voor de voor, en na gerechten en je probleem is opgelost.
Maar het probleem is ik heb zelf niet echt verstand van PHP.
Dus zou niet weten hoe ik zoiets moet maken.
Het formulier heb ik al.
Ik heb alleen het gedeelte nodig dat als ik een van die keuzes kies dat er een letter wordt toegevoegd aan het veld CATEGORIE
Dus zou niet weten hoe ik zoiets moet maken.
Het formulier heb ik al.
Ik heb alleen het gedeelte nodig dat als ik een van die keuzes kies dat er een letter wordt toegevoegd aan het veld CATEGORIE
Je moet je optie lijst wel wat aanpassen:
FORMULIER KEUZE
Je kan de keuze dan uitlezen via $_POST['categorie']
FORMULIER KEUZE
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<td>
<select name="categorie">
<option value="V">Voorgerecht</option>
<option value="H">Hoofdgerecht</option>
<option value="N">Nagerecht</option>
</select>
</td>
<select name="categorie">
<option value="V">Voorgerecht</option>
<option value="H">Hoofdgerecht</option>
<option value="N">Nagerecht</option>
</select>
</td>
Je kan de keuze dan uitlezen via $_POST['categorie']
Als je niet zoveel weet zal je niet snel ver komen in je CMS of wat je dan ook aan het maken bent.
Gewijzigd op 28/04/2011 17:31:55 door Maarten PHP
$_POST['categorie'].. :D
wel wetend dat dit erg basis is, en je vanuit hier veel en veel verder kan werken.
Gewijzigd op 28/04/2011 17:58:28 door Danny Wage
Danny Wage op 28/04/2011 17:30:26:
dit is niet goed! Je moet geen onnodige vars aanmaken!
nergens maak ik een onnodig var aan ;D
Ik schrijf dit enkel op de manier hoe hij het wil. Zo gebruikt hij $categorie, en die kan je hierdoor laten koppelen.
Ik schrijf dit enkel op de manier hoe hij het wil. Zo gebruikt hij $categorie, en die kan je hierdoor laten koppelen.
Je kan ook gewoon $_POST['categorie'] in de query zetten dan zijn 8 lijnen minder werk
Dat kan ook inderdaad.
En als je van H naar h wilt veranderen maak je gewoon gebruik van strtolower. Verder vind ik het vreemd dat zodra het geen voorgerecht of hoofdgerecht is het een nagerecht moet zijn. Je moet daar dan ook nog een elseif gebruiken.
Wouter,
daar heb je gelijk in.
Maar ik heb dan ook eronder gezet: "wel wetend dat dit erg basis is, en je vanuit hier veel en veel verder kan werken."
daar heb je gelijk in.
Maar ik heb dan ook eronder gezet: "wel wetend dat dit erg basis is, en je vanuit hier veel en veel verder kan werken."
zoals ik al zei moet je enkel $_POST['categorie'] gebruiken en niet dat onnodige stukje code
Krijg hem nog niet werkende. Denk dat ik zelf een foutje heb gemaakt.
Dit is wat ik heb:
En bij de form dit:
Dit is wat ik heb:
Code (php)
1
2
3
2
3
$categorie = ($_POST['categorie']);
$sql = 'INSERT INTO '.$categorie.' (naam, afbeelding, prijs, categorie) VALUES ("'.$naamgerecht.'","'.$afbeelding.'","'.$prijs.'","'.$categorie.'");';
$sql = 'INSERT INTO '.$categorie.' (naam, afbeelding, prijs, categorie) VALUES ("'.$naamgerecht.'","'.$afbeelding.'","'.$prijs.'","'.$categorie.'");';
En bij de form dit:
$categorie = msql_real_escape_String(($_POST['categorie'])); gebruiken twee keer $categorie erin staan?
je query klopt niet, je moet doen:
en niet
Want dat klopt natuurlijk niet! Ga eens een basis tut php en sql lezen.
en niet
Want dat klopt natuurlijk niet! Ga eens een basis tut php en sql lezen.
PHP Jasper op 28/04/2011 22:02:02:
je query klopt niet, je moet doen:
[...code...]
en niet
[...code...]
Want dat klopt natuurlijk niet! Ga eens een basis tut php en sql lezen.
[...code...]
en niet
[...code...]
Want dat klopt natuurlijk niet! Ga eens een basis tut php en sql lezen.
Waarom klopt dit niet? Waarom zou de TS geen tabel per categorie hebben? Als $categorie = 'nagerecht' en er bestaat een tabel nagerecht zal deze query gewoon werken.
@TS, bouw eerst eens goede foutafhandeling in. Verder:
- Wat is er fout?
- Waar denk je dat het aan ligt?
- Krijg je een foutmelding?
- Wat heb je er al aan gedaan?
- Heb je al gedebugd?
De gegevens worden wel toegevoegd met de afbeelding zoals ik het wou maar ik krijg nog wel een foutmelding.
CODE
FOUTMELDING
CODE
Code (php)
1
2
3
2
3
$categorie = (($_POST['categorie']));
$sql = 'INSERT INTO '.gerechten.' (naam, afbeelding, prijs, categorie) VALUES ("'.$naamgerecht.'","'.$afbeelding.'","'.$prijs.'","'.$categorie.'");';
$sql = 'INSERT INTO '.gerechten.' (naam, afbeelding, prijs, categorie) VALUES ("'.$naamgerecht.'","'.$afbeelding.'","'.$prijs.'","'.$categorie.'");';
FOUTMELDING
waarom haal je gerechten buiten quotes? die hoeft niet
en waarom 2x ;?
en waarom 2x ;?




