Heey, ik heb helaas weer een vraag :(

Ik heb een toevoeg systeem voor informatie dat werkt met ID's. Ik heb nu een script gemaakt waar de titel en tekst goed worden ingevuld, maar het ID moet ook worden ingevuld. Ik wil dit niet zelf typen, maar ik wil het laatste ID uit die tabel hebben +1.

Even voor de duidelijkheid, ik wil dus weten hoe je het laatste ID uit de database kan krijgen.

Miniejjj
Oke, dat is dus wat ik altijd vergeet. Ik weet misschien dat het voor "nu" te moeilijk is, maar voor later niet. Helaas ben ik er nu aan begonnen, en wil ik van mijzelf dat het werkt :P Dus kunnen jullie mij nog een keer helpen, ik heb namelijk nog een fout in iets wat ik net heb verandert, namelijk ipv INSERT TO nu UPDATE:
<?php
$sQry = "UPDATE zoeken SET tekst = '" . mysql_real_escape_string($_POST['tekst']) . "', titel = '" . mysql_real_escape_string($_POST['titel']) . "' WHERE id = '".$_GET['id']."'); ?>

Er staat: Parse error: syntax error, unexpected ')' in /usr/export/www/hosting/minimachine/verander.php on line 41
Oja, wat betekent T_STRING, dat stond namelijk eerst ook als fout...
Sorry voor alle vragen, als dit af is, ga ik met makkelijke dingen beginnen :P
Even wat basisregeltjes:
- Een " sluit je af met een "
- Een ' sluit je af met een '
- Een { sluit je af met een }
- Een ( sluit je af met een )

Met deze kennis onder de arm mag jij gaan uitzoeken waarom bovenstaande regel code in het honderd loopt.

Ps. Eerst iets onmogelijks maken en dan met eenvoudige zaken beginnen, is niet zo handig. Ga je eerst verdiepen in de eenvoudige zaken, dan komen de onmogelijke zaken ook binnen handbereik.
Bedankt voor de huisregels (:P) ik heb even goed gekeken en ik had een haakje teveel gedaan en een " te weinig aan het einde ( die was van de " helemaal aan het begin ). Bedankt!

Het is inderdaad een beetje vaag, maar ik ben met een site bezig voor een vriend, waar je een zoekscript hebt, een add script, een showinfo script en ik moest dus nog een verander script hebben waar ik niet uit kwam. Die andere scripts waren wel ongeveer makkelijk te maken, dus daarom kwam deze vraag er nog bij :P

Miniejjj

Nog een handige tip: Kijk naar de kleuren van je script. Wanneer gaat 't anders er uit zien dan moet? Hier is het overduidelijk te zien want de ?> die je script afsluit zijn rood ipv blauw... systematisch te werk gaan.

Dit heeft niets meer php gevorderd of niet te maken, het is gewoon rustig kijken en systematisch te werk gaan...

edit:
wanneer je een query, hoe kort dan ook, vertikaal uitschrijft is het ideaal debuggen. Je ziet dan vaak in 1 oogopslag waar het fout gaat.
Oke, volgens mij doet alles het nu wel ongeveer, alleen hij update hem niet, ik heb 5 minuten gekeken en kan niet ontdekken waarom hij het niet doet. Hopelijk is dit mijn laatste vraag:


<head>
<title>Vliegtuig veranderen</title>
</head>
<body>
<form action=verander.php method=POST>
<?php
if (!@mysql_select_db("minimachine", @mysql_connect("localhost", "minimachine", "xxx")))
{
echo "Er kan geen database connectie gemaakt worden.";
exit();
}

$sql = "SELECT
            id,
            titel,
            tekst
            FROM
            zoeken
        WHERE
            id ='".mysql_real_escape_string($_GET['id'])."'";
$res = mysql_query($sql) or die(mysql_error());

if(mysql_num_rows($res) == 1){
    $row = mysql_fetch_array($res);  
    echo '
    <B>Admin informatie veranderen</b><br><form>
    Titel:<input type="text" name="titel" size="16" value="'.$row['titel'].'"><B><br>
    Tekst:<textarea rows="6" name="tekst" cols="42">'.$row['tekst'].'</textarea><br>
    <input type="submit" vale=" Verander "></form>'; 

}

if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
   
    # Query maken en uitvoeren
    $sQry = "UPDATE zoeken SET tekst = '" . mysql_real_escape_string($_POST['tekst']) . "', titel = '" . mysql_real_escape_string($_POST['titel']) . "' WHERE id = '".$_GET['id']."'";


    
    mysql_query($sQry) or die(mysql_error());
    echo "Het vliegtuig is verandert";
}
?>
</body>





Ik zou regel 33 t/m 43 boven regel 13 zetten. Als je iets veranderd (formulier post) dan haal je eerst een tekst op en daarna veranderd je deze. De tekst die je had opgehaald is dat alweer oud.

Je form tag klopt nog niet:

<form action="script.php" method="post">
waar is je controle?

<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{

# Query maken en uitvoeren
$sQry = "UPDATE zoeken SET tekst = '" . mysql_real_escape_string($_POST['tekst']) . "', titel = '" . mysql_real_escape_string($_POST['titel']) . "' WHERE id = '".$_GET['id']."'";



mysql_query($sQry) or die(mysql_error());

if(mysql_affected_rows(){
echo "Het vliegtuig is verandert";
}
}
?>

Alleen zo weet je of er echt iets is aangepast.

Verder zou ik niet weten hoe jij een $_GET waarde in je WHERE krijgt want waar wordt deze aangemaakt (hoe krijg jij deze in je url, ook tijdens de $_POST actie) en waarom controleer je niet of deze GET waarde numeriek en nog aanwezig is? Wanneer je een formulier gaat verwerken ga je uit van elke fout die er voor kan komen, daar na ga je het formulier processen/verwerken. Anders kan je in de grootste problemen komen.

Dus: Hoe kom je aan $_GET['id']? En hoe neem je deze in je formulier mee?

edit: php tags

Reageren