Voor een script wat ik aan het bouwen. moet ik een waarde in mijn database verhogen met 10.
Het is de bedoeling dat het zo gaat werken als bij een phpbb forum. Zodat je met behulp van group_order regels omhoog en omlaag kan schuiven.
Nu is mijn script zo als hier onder staat ik deel hem in drie delen zodat het duidelijk is wat ik bedoel
Werkend gedeelte 1
Niet werkend gedeelte
Werkend gedeelte 2
Het volgende had ik ook geprobeerd voor het niet werkende gedeelte
In beide gevallen geeft hij geen foutmelding. Maar ik denk dat de beste oplossing te vinden is in de eerste manier.
In mijn sql database vult hij wel iedere keer die 10 in maar op tellen doet hij niet.
Ik denk daarom dat er iets verkeerd gaat met de hoogste waarde uit de database te definieer als variabelen
Het is de bedoeling dat het zo gaat werken als bij een phpbb forum. Zodat je met behulp van group_order regels omhoog en omlaag kan schuiven.
Nu is mijn script zo als hier onder staat ik deel hem in drie delen zodat het duidelijk is wat ik bedoel
Werkend gedeelte 1
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| <?php include ("../sql_connect.php"); echo ("<form action=\"add_group.php\" method=\"post\" enctype=\"multipart/form-data\"> <input type=\"hidden\" name=\"submit\" value=\"yes\"> <table cellspacing=\"2\" cellpadding=\"2\" border=\"0\"> <tr> <td>Groepsnaam:</td> <td><input type=\"text\" name=\"site_group\"></td> </tr> <tr> <td>Auteur:</td> <td><input type=\"text\" name=\"group_author\" value=\"{$_POST["group_author"]}\"></td> </tr> <tr> <td> </td> <td><input type=\"submit\" value=\"Add\"></td> </tr> </table> </form>"); if ($site_group && $group_author) { if($_POST["site_group"] && mysql_result(mysql_query("SELECT COUNT(site_group) FROM site_groups WHERE site_group LIKE '{$_POST["site_group"]}'"),0)) { echo ("De groep {$_POST["site_group"]} is al bezet!");} elseif ($submit){ |
Niet werkend gedeelte
PHP:
1
2
3
4
5
| $sql = "SELECT MAX (group_order) AS max_order FROM site_groups WHERE group_order ='$group_order'"; $result = mysql_query($sql); while ($row = mysql_fetch_object($result)){ $max_id = $row[max_order]; $next_order = $max_id + 10; |
Werkend gedeelte 2
PHP:
1
2
3
4
5
6
| mysql_query("INSERT INTO site_groups (site_group, group_author, group_order) VALUES ('{$_POST["site_group"]}','{$_POST["group_author"]}','$next_order')"); echo ("De groep {$_POST["site_group"]} is toegevoegd! $next_order");} }else { echo ("Niet alle velden zijn ingevuld");} ?> |
Het volgende had ik ook geprobeerd voor het niet werkende gedeelte
PHP:
1
2
3
| $group = mysql_fetch_object(mysql_query("SELECT * FROM site_groups WHERE id = '$id'")); $group_order = explode("|",ereg_replace("\|$","",$group->group_order)); $next_order = $group_order + 10; |
In beide gevallen geeft hij geen foutmelding. Maar ik denk dat de beste oplossing te vinden is in de eerste manier.
In mijn sql database vult hij wel iedere keer die 10 in maar op tellen doet hij niet.
Ik denk daarom dat er iets verkeerd gaat met de hoogste waarde uit de database te definieer als variabelen
[ Voor 39% gewijzigd door josvane op 04-10-2004 19:32 ]