$_POST controleren met naam uit database
Ik haal een formulier uit een database en nu wil ik de velden controleren alleen de naam van het veld komt ook uit de database.
Als ik het bijvoorbeeld zo uit de database haal:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$query = mysql_query("SELECT formNAME,formID FROM form ORDER BY formID");
while($option = mysql_fetch_assoc ($query)) {
echo '<option value="'.$option['formID'].'">'.$option['formNAME'].'</option>';
}
?>
$query = mysql_query("SELECT formNAME,formID FROM form ORDER BY formID");
while($option = mysql_fetch_assoc ($query)) {
echo '<option value="'.$option['formID'].'">'.$option['formNAME'].'</option>';
}
?>
Hoe kan ik het formulier dan controleren dit:
Code (php)
1
2
3
2
3
if(isset($_POST['formID']) && !empty($_POST['formID'])){
$form = mysql_real_escape_string($_POST['formID']);
}
$form = mysql_real_escape_string($_POST['formID']);
}
Werkt niet...
Weet iemand hoe dit moet??
Gewijzigd op 17/10/2012 20:33:58 door Tim S
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$where[] = "formNAME != ''"; // bijvoorbeeld
if(isset($_POST['formID']) && !empty($_POST['formID']))
{
$where[] = "formID = ".mysql_real_escape_string($_POST['formID']);
}
$query = mysql_query("
SELECT formNAME, formID
FROM form
WHERE ".implode($where, "AND ")."
ORDER BY formID DESC
");
while($option = mysql_fetch_assoc ($query)) {
echo '<option value="'.$option['formID'].'">'.$option['formNAME'].'</option>';
}
?>
$where[] = "formNAME != ''"; // bijvoorbeeld
if(isset($_POST['formID']) && !empty($_POST['formID']))
{
$where[] = "formID = ".mysql_real_escape_string($_POST['formID']);
}
$query = mysql_query("
SELECT formNAME, formID
FROM form
WHERE ".implode($where, "AND ")."
ORDER BY formID DESC
");
while($option = mysql_fetch_assoc ($query)) {
echo '<option value="'.$option['formID'].'">'.$option['formNAME'].'</option>';
}
?>
Wellicht heb ik de implode() verkeerd staan, maar 't valt te proberen. Zo niet: even omdraaien ;).
Inspringen moet je zelf even doen, dat gaat hier niet makkelijk op de laptop.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$result = mysql_query('select * from table');
while ($info = mysql_fetch_field($result))
echo $info->name;
?>
$result = mysql_query('select * from table');
while ($info = mysql_fetch_field($result))
echo $info->name;
?>
Ik heb je code even uitgeprobeerd maar krijg hem zo snel niet aan de praat. Ik snap niet helemaal wat er gebeurd bij $where...??
@frank
Ik heb jou code ook even geprobeerd, maar ik krijg bij echo $info->name; alleen te zien "formID". Volgens mij moet ik juist de het id hebben en niet de kolom. Wat zou ik kunnen doen met $info->name;??
In ieder geval bedankt voor de reacties!
Met mysql_fetch_field krijg je inderdaad de naam van de kolom. Ik dacht dat je dat nodig had?
Maar als ik jou code neem wat moet ik dan doen bij:
Bij ['formID'] moet ik dus de value van het option field hebben wat in mijn formulier staat.
Als ik jou code neem krijg ik volgens mij alleen de kolomnaam en niet de inhoud...?
Gewijzigd op 18/10/2012 00:00:31 door Tim S