sql record updaten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3

Dennis

Dennis

07/12/2006 16:28:00
Quote Anchor link
@ SanThe : ow ok... dan heb ik niks gezegt net :-)
Maar ik duik er wel weer even in, het is alleen boven mijn kunnen krijg ik het idee.

Want het formulier moet goed zijn, probleem zit hem in die query. Nu alleen de oorzaak en oplossing bedenken. Wat makkelijker gezegt dan gedaan is.
 
PHP hulp

PHP hulp

19/11/2024 08:31:57
 
Wim

Wim

07/12/2006 16:41:00
Quote Anchor link
Gewoon er mee gaan spelen en testen, dan kun je al wat dingen uitsluiten.
Controleer bijv. of alle post data van je formulier goed aankomt bij het script waar je query staat. Als dat goed is kun je uitsluiten dat het aan je formulier ligt.

Echo die $sql eens, en kijk of je query er ingevuld uit er zo uit ziet als je verwacht.

Op die manier kun je waarschijnlijk hier ook duidelijkere info geven over wat er misgaat, en je leert er ook veel van. :)
 
Koen B

Koen B

07/12/2006 16:43:00
Quote Anchor link
Wat gaat er precies fout? En wat is de url waar het script staat? Dan kan ik misschien kijken wat er misgaat ...
Het is moeilijk fouten zoeken als je niet weet waar of wat er fout gaat ...
 
Dennis

Dennis

08/12/2006 08:56:00
Quote Anchor link
@ Wim : geloof mij als ik zeg dat ik al heel veel aan het spelen ben er mee :-) punt is ik ben het nu gewoon echt even kwijt. Mijn kennis van PHP is nog lange niet van alleskunner om het zo maar te zeggen.

@ Koen : Wat er precies fout gaat, het formulier word ten eerste al niet meer weergegeven en krijg direct de foutmelding van het script dat er iets is met de database. Nu denk ik dat het ligt waar het script de gegevens selecteerd met SELECT. Ik dacht dat ik eerst alleen met de UPDATE functie en dan het formulier er al was als je dan ook het ID invult zodat het overschreven word.

Maar ik begreep later uit andere scripts dat je ook alles moet selecteren om dat voor elkaar te krijgen.

Hierbij nogmaals de code :
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
<?php          
if ($_SERVER['REQUEST_METHOD'] == "POST") {

        $id = (!empty($_POST['id'])) ? $_POST['id'] : 0;
            $UpdateQuery = "UPDATE
                            vangaart_nieuws  
                            SET  
                            titel='"
.mysql_real_escape_string($_POST['titel'])."' ,
                            datum='"
.mysql_real_escape_string($_POST['datum'])."' ,
                            url='"
.mysql_real_escape_string($_POST['url'])."' ,
                            bericht='"
.mysql_real_escape_string($_POST['bericht'])."'
                            
                        WHERE
                        
                        id="
.$id;

                $resultaat = mysql_query($UpdateQuery) or die(mysql_error());    
                if ($resultaat) {    
                    echo "Het bericht is geupdate";    
                }
else {    
                    echo "Bericht updaten is mislukt!";  
                }
            
}
else {  // er is niet op post geklikt
        $titel = (!empty($_POST['titel'])) ? $_POST['titel'] : '';    

  $sql = "SELECT titel, datum, url, bericht FROM vangaart_nieuws WHERE id = ".$_POST['id'];
  if(!$result = mysql_query($sql))
  {

    echo "<b>Database probleem.</b><br> Probeer het nog een keer of neem contact op met de webmaster";
  }

  else
  {
    if(mysql_num_rows($result) == 0)
    {

      echo "Er is geen bericht gekozen";
    }

    else
    {
      $gegevens = mysql_fetch_assoc($result);
?>


De velden in het form hebben als value bv :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $gegevens['datum']; ?>


en hebben allemaal een hidden field :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="hidden" name="id" value="<?=$_POST['id'];?>">
 
Wim

Wim

08/12/2006 09:16:00
Quote Anchor link
@Dennis
Je hoeft ook geen alleskunner te zijn, dat ben ik ook niet. :)
Wat ik probeerde aan te geven is, dat je zelf al kunt testen hoe en waar het misgaat. Dan kun je ook beter aangeven waar het misgaat.

Dus controleren of de info van het formulier wordt gepost, of de waarde van bijv. $sql ook daadwerkelijk de query is die jij voor ogen had, aangezien je er info vanuit het formulier voor gebruikt.
 
Dennis

Dennis

08/12/2006 12:21:00
Quote Anchor link
Met mijn vorige formulier liep is dus echt vast en probeer het nu over een andere boeg te gooien om te kijken of het in ieder geval lukt om alleen het veld bericht te wijzigen.

nu heb ik het volgende 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
<?php
$dbHost
= "localhost";
$dbUser = "****";
$dbPass = "****";
$dbName = "****";

function
dbConnect(){
global $dbHost, $dbUser, $dbPass, $dbName;

$connection = mysql_connect($dbHost,$dbUser,$dbPass) or die (mysql_error());
mysql_select_db($dbName) or die (mysql_error());
return $connection;
}

function
dbDisconnect($connection){
mysql_close($connection);
}


if($_POST['submit'])
{

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

$query = "UPDATE vangaart_nieuws SET bericht = '".$_POST['bericht']."' WHERE `id` = '".$_POST['titel']."'";
$sql = mysql_query($query) or die(mysql_error());
print("Nieuw bericht is ".$_POST['bericht']."");
}

else
{
print("Geen bericht ingevoerd! Niets gewijzigd!");
}
}

else
{
?>

<form name="wijzig_bericht" action="index.php?page=test" method="post">
Selecteer bericht:
<select name="titel">
<?php

$query
= "SELECT * FROM vangaart_nieuws";
$sql = mysql_query($query);
while($record = mysql_fetch_object($sql))
{

echo"<option value =".$record->id.">".$record->titel."</option>";
}

?>

</select>
  Nieuw bericht: <br>
  <textarea name="bericht" cols="40" rows="10"></textarea>
  <input type="submit" name="submit" value="Aanpassen">
</form>
<?php } ?>


Nu wordt het menu weergegeven om de titel te selecteren en het tekstvak, alleen het menu om de titel te selecteren geeft niet de titels weer die in de tabel staan...
 
Dennis

Dennis

08/12/2006 13:48:00
Quote Anchor link
Anyone ?
 
- SanThe -

- SanThe -

08/12/2006 14:14:00
Quote Anchor link
Nou ben je weer aan het * bumpen *
 
Dennis

Dennis

08/12/2006 15:04:00
Quote Anchor link
vraag juist of iemand ziet waar het probleem zit dat er in het keuze menu niet de titels weer gegeven worden.
 
Wim

Wim

08/12/2006 15:30:00
Quote Anchor link
Ik weet het niet zeker, maar het afbreken van een else {} door ?> en dan weer html gebruiken, en vervolgens weer verder gaan met
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
<?php lijkt mij niet de juiste methode.
Ik vraag me af of het op deze manier nog wel werkt.

Ik had dat laatste stuk zelf alsvolgt gedaan:

[
code]<?php
//voorafgaande code
else
{
echo "
<form name='wijzig_bericht' action='index.php?page=test' method='post'>
Selecteer bericht:
<select name='titel'>"
;

$query = "SELECT * FROM vangaart_nieuws";
$sql = mysql_query($query);
while($record = mysql_fetch_object($sql))
{

echo"<option value =".$record->id.">".$record->titel."</option>";
}

echo "
</select>
  Nieuw bericht: <br>
  <
textarea name='bericht' cols='40' rows='10'></textarea>
  <
input type='submit' name='submit' value='Aanpassen'>
<
/form>
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Wim
 

Pagina: « vorige 1 2 3



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.