22. september 2006 - 13:52Der er
26 kommentarer og 1 løsning
tabel bliver ikke opdateret hvor er fejlen
En som kan se hvor fejlen er i denne kode, tabellen kalender bliver ikke opdateret
//Nu skal vi opfange det id som blev sendt fra liste $id = $_GET[id]; $url = $_SERVER['REQUEST_URI'];
//skab forbindelse til databasen
if( !empty( $_POST['dato'] ) ) { $dato = mysql_escape_string( $_POST['dato'] ); mysql_query("UPDATE kalender SET date = '$_POST[dato]' WHERE kalenderID='$id'") or die(mysql_error()); }
$kalender = mysql_query("SELECT *, DATE_FORMAT(date, '%d-%m-%Y') AS dato FROM kalender WHERE kalenderID='$id'"); while ($a = mysql_fetch_assoc($kalender)) { $dato = $a['dato'];
Først har du noget GET, som du sætter ind øverst, så laver du en form, som sender til noget POST. Så henter du en værdi ind med GET, som brude være POST? Prøv lige at printe $id.
Når du trykker submit bliver variablerne sendt via POST. Dvs. at du henter disse variabler ud med $_POST[''] (hvilket du godt ved). Når du så beder om at få sat en $id-værdi i din UPDATE, og den ikke er sat, kan det give problemer.
Jeg ville sætte en ekstra inpit-felt type="hidden" ind i din form med id, så den bliver sendt via POST. (Og hente den ind via POST)
<? //Nu skal vi opfange det id som blev sendt fra brugerlisten $id = $_GET[id]; $url = $_SERVER['REQUEST_URI']; echo $id;
//skab forbindelse til databasen
if( !empty( $_POST['dato'] ) ) { $dato = mysql_escape_string( $_POST['dato'] ); $nyid = mysql_escape_string( $_POST['id']); mysql_query("UPDATE kalender SET date = '$_POST[dato]' WHERE kalenderID='$nyid'") or die(mysql_error()); echo "opdateret$id"; }
$kalender = mysql_query("SELECT *, DATE_FORMAT(date, '%d-%m-%Y') AS dato FROM kalender WHERE kalenderID='$id'"); while ($a = mysql_fetch_assoc($kalender)) { $dato = $a['dato'];
jeg havde ikke set den linie du havde skrevet med print den giver dette (jeg skrev 03-03-2006) i formularen
UPDATE kalender SET date = '03-03-2006' WHERE kalenderID='55' jeg har nu ændret til mysql_query("UPDATE kalender SET date = '$dato' WHERE kalenderID='$nyid'") or die(mysql_error());
okay nu virker det som det skal utroligt så meget tid man kan bruge på en lille fejl. det sjove er at jeg havde tænkt på det da jeg lavede det første, men har så glemt det igen tror papir og blyant er en god ide for efter tiden. smid et svar du har fortjent de point
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.