Hulp met CMS

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Evert Ekans

Evert Ekans

28/04/2011 17:18:54
Quote Anchor link
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = 'INSERT INTO '.$toevoegenaan.' (naam, afbeelding, prijs, categorie) VALUES ("'.$naamgerecht.'","'.$afbeelding.'","'.$prijs.'","'.$categorie.'");';


FORMULIER KEUZE
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>
Gewijzigd op 28/04/2011 17:21:13 door Evert Ekans
 
PHP hulp

PHP hulp

27/04/2024 05:36:05
 
Maarten PHP

Maarten PHP

28/04/2011 17:24:36
Quote Anchor link
Je maakt een formulier met php in die php check je of het formulier verzonden is.
En dan de keus aan je query toevoegen
 
Danny Wage

Danny Wage

28/04/2011 17:26:46
Quote Anchor link
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.
 
Evert Ekans

Evert Ekans

28/04/2011 17:26:53
Quote Anchor link
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
 
Jasper DS

Jasper DS

28/04/2011 17:28:01
Quote Anchor link
Je moet je optie lijst wel wat aanpassen:
FORMULIER KEUZE
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>


Je kan de keuze dan uitlezen via $_POST['categorie']
 
Maarten PHP

Maarten PHP

28/04/2011 17:29:45
Quote Anchor link
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
 
Danny Wage

Danny Wage

28/04/2011 17:30:26
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if($_POST['categorie'] == 'V')
{

 $categorie = 'v';
}
elseif($_POST['categorie'] == 'H') {
 $categorie = 'h';
}
else {
 $categorie = 'n';
}

?>


$_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
 
Jasper DS

Jasper DS

28/04/2011 17:34:42
Quote Anchor link
Danny Wage op 28/04/2011 17:30:26:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if($_POST['categorie'] == 'V')
{

 $categorie = 'v';
}
elseif($_POST['categorie'] == 'H') {
 $categorie = 'h';
}
else {
 $categorie = 'n';
}

?>


wel wetend dat dit erg basis is, en je vanuit hier veel en veel verder kan werken.


dit is niet goed! Je moet geen onnodige vars aanmaken!
 
Danny Wage

Danny Wage

28/04/2011 17:37:24
Quote Anchor link
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.
 
Jasper DS

Jasper DS

28/04/2011 17:42:57
Quote Anchor link
Je kan ook gewoon $_POST['categorie'] in de query zetten dan zijn 8 lijnen minder werk
 
Danny Wage

Danny Wage

28/04/2011 17:47:32
Quote Anchor link
Dat kan ook inderdaad.
 
Wouter J

Wouter J

28/04/2011 17:48:05
Quote Anchor link
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.
 
Danny Wage

Danny Wage

28/04/2011 17:51:59
Quote Anchor link
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."
 
Jasper DS

Jasper DS

28/04/2011 17:54:12
Quote Anchor link
zoals ik al zei moet je enkel $_POST['categorie'] gebruiken en niet dat onnodige stukje code
 
Evert Ekans

Evert Ekans

28/04/2011 20:59:11
Quote Anchor link
Krijg hem nog niet werkende. Denk dat ik zelf een foutje heb gemaakt.

Dit is wat ik heb:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$categorie = ($_POST['categorie']);
                    
                    $sql = 'INSERT INTO '.$categorie.' (naam, afbeelding, prijs, categorie) VALUES ("'.$naamgerecht.'","'.$afbeelding.'","'.$prijs.'","'.$categorie.'");';



En bij de form dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<select name="categorie">
    <option value="V">Voorgerecht</option>
    <option value="H">Hoofdgerecht</option>
    <option value="N">Nagerecht</option>
</select>
 
Dirk Renes

Dirk Renes

28/04/2011 21:57:57
Quote Anchor link
$categorie = msql_real_escape_String(($_POST['categorie'])); gebruiken twee keer $categorie erin staan?
 
Jasper DS

Jasper DS

28/04/2011 22:02:02
Quote Anchor link
je query klopt niet, je moet doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
INSERT INTO [b]tabel[/b]...


en niet

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
INSERT INTO [b]$categorie[/b]...


Want dat klopt natuurlijk niet! Ga eens een basis tut php en sql lezen.
 
Wouter J

Wouter J

28/04/2011 22:58:51
Quote Anchor link
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.

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?
 
Evert Ekans

Evert Ekans

28/04/2011 23:36:53
Quote Anchor link
De gegevens worden wel toegevoegd met de afbeelding zoals ik het wou maar ik krijg nog wel een foutmelding.

CODE
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$categorie = (($_POST['categorie']));
                    
                    $sql = 'INSERT INTO '.gerechten.' (naam, afbeelding, prijs, categorie) VALUES ("'.$naamgerecht.'","'.$afbeelding.'","'.$prijs.'","'.$categorie.'");';


FOUTMELDING
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Notice: Use of undefined constant gerechten - assumed 'gerechten' in C:\xampp\htdocs\CMS - MENUKAART - kopie\toevoegen.php on line 38
 
Gerhard l

gerhard l

28/04/2011 23:51:59
Quote Anchor link
waarom haal je gerechten buiten quotes? die hoeft niet
en waarom 2x ;?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$categorie = (($_POST['categorie']));
                    
                    $sql = "INSERT INTO gerechten (naam, afbeelding, prijs, categorie) VALUES ('".$naamgerecht."','".$afbeelding."','".$prijs."','".$categorie."')";
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.