Hulp gezocht, Kom er totaal niet uit

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rick

rick

16/11/2006 23:58:00
Quote Anchor link
Beste php freaks =)

ik heb een ben bezig meet een system als ik een functie berichten in de database op 0 heb staan kan je geen berichten sturen,en zo nog een paar van deze opties..

Maar het probleem duid als volgt:
Hij selecteert een hele berg uit de db met alle functie die aan en uit kunnen
allemaal nog leuk lief en aardig :P.

Maja nu komt het probleem..Als ik een functie van Off na On wil zetten,wil hij hem niet updaten

Iemand enig idee hoe dit kan gaan werken.
zie hieronder me script

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php

if($this_user->rank <= 89) {
return;
}


$page ='Systems';

if(isset($_POST['submit'])) {

$state = $_POST['state'];
$id = $_POST['id'];

         MessageBox("$page","All systems updated.");
         mysql_query("UPDATE functies SET state='$state' WHERE id='$id'");


return;
        }



echo "<table width='50%' align='center' valign='top'>";
echo "<form method='post' name='systems'>";

echo "   <tr>";
echo "      <th class='pic' colspan='6'>$page</th>";
echo "  </tr>";

echo "   <tr>";
echo "      <th width='1%'  class='empty'>&nbsp;</th>";
echo "      <th width='77%' class='empty'>Name:</th>";
echo "      <th width='20%' class='empty'>State:</th>";
echo "      <th width='1%'  class='empty'>Option</th>";
echo "      <th width='1%'  class='empty'>&nbsp;</th>";
echo "    </tr>";

 $q         = mysql_query("SELECT * FROM functies WHERE id >= 0");
        while($func = mysql_fetch_object($q))
        {

       echo "<tr>";
            echo "  <th width='1%'  class='empty'>&nbsp;</th>";
            echo "  <td width='77%' class='empty'>$func->public_name</td>";
            echo "  <td width='20%' class='empty'>$func->id</td>";
            echo "  <td width='1%'  class='empty'><select name='state' style='width:60px'>";
    echo "<option value='0'"; if($func->state == '0') { echo " selected"; } echo ">Off";
    echo "<option value='1'"; if($func->state == '1') { echo " selected"; } echo ">On";
    echo "    </select></td>";
            echo "  <th width='1%'  class='empty'>&nbsp;</th>";
            echo "</tr>";
          }



echo "   <tr>";
echo "      <th class='pic' colspan='6'> <input type='submit' name='submit' class='knop' value='Ok'>  </th>";
echo "  </tr>";

echo "</form>";
echo "</table>";

?>
 
PHP hulp

PHP hulp

08/11/2024 07:37:00
 
Jeroen

Jeroen

17/11/2006 00:36:00
Quote Anchor link
fout 1 snel opgemerkt,
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
         mysql_query("UPDATE functies SET state='$state' WHERE id='$id'");

moet zijn
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
         mysql_query("UPDATE functies SET state='".$state."' WHERE id='".$id."'");
 
Frank -

Frank -

17/11/2006 01:09:00
Quote Anchor link
@Jeroen: Het verdient geen schoonheidsprijs om variabelen binnen quotes te zetten, maar dat is het probleem niet.

@Rick:
Wat wel een probleem is, is dat je nergens controleert of de query is gelukt en hoeveel records er zijn bijgewerkt. En eerst roepen dat iets is bijgewerkt en dan pas de query uitvoeren, kun je alleen doen wanneer je helderziend bent.
Voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$query
= "UPDATE tabelnaam SET kolomnaam = 'var'";
$result = mysql_query($query);
if(!$result){ // query mislukt
  echo 'Mislukt: '.mysql_query();
}

else {
  $count = mysql_affected_rows();
  if($count > 0){
    echo 'Er zijn '.$count.' records bijgewerkt.';
  }

  else {
    echo 'Er is niets bijgewerkt.';
  }
}

?>
 
Rick

rick

17/11/2006 09:34:00
Quote Anchor link
Hmms ja dit werkt wel leuk ja ,Maar hij update alle records in 1 keer en elke record afzonderlijk.

mss helpt dit ook wel of niet ?
$query = "UPDATE tabelnaam SET kolomnaam = 'var' WHERE id='$id'";

Ps: Lukt nog niet.

Afbeelding

Hier heb een beeld voor je,van wat het ongeveer is
Gewijzigd op 01/01/1970 01:00:00 door rick
 
Rick

rick

17/11/2006 19:12:00
Quote Anchor link
Iemand een idee'tje ;p ?
 
Frank -

Frank -

17/11/2006 19:19:00
Quote Anchor link
$id = $_POST['id'];
Dit blinkt natuurlijk uit in helderheid en veiligheid. Jij hebt geen flauw idee wat er in $_POST['id'] staat, maar je gooit dit wel zo maar in een query. Dat is vragen om problemen!
Controleer dus altijd of de input wel goed is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
if(ctype_digit($_POST['id']){ // controleer of $_POST['id'] wel een digit (nummer) is.
  $id = $_POST['id'];
  // rest van je code, uitvoeren en controleren query, etc. etc.
}
else {
  echo 'geen juiste waarde opgegeven.';
}

?>

Te veel vertrouwen in je eigen kunsten levert de grootste problemen op. (spreek uit ervaring...)
 
Rick

rick

17/11/2006 20:27:00
Quote Anchor link
Goed ben ik met je eens.
Zal dat eens gebruiken,maja daar zal me script nog niet om werken :P
 



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.