23. april 2004 - 10:27
Der er
7 kommentarer og 1 løsning
Updatefunktion + fetch
Hey.. Jeg har et nyhedsys (PHP/SQL), og jeg vil gerne kunne rette i mine nyheder efter jeg har skrevet dem.. har lavet en udgave hvor den bruger update, hvor at startvaluen i mine inputs er et echo, men jeg får (selføldig) kun vist nyhed nr. 1.. spørgsmålet lyder så på om man kan lave en "næste" funktion, eller jeg skal opbygge det på en helt anden måde..
Annonceindlæg fra HP
23. april 2004 - 17:25
#1
Jeg plejer at lave en oversigt, og så tilføje et redigér-link. Det link peger så på det script der gør som du har beskrevet om nyhed #1.
23. april 2004 - 18:38
#2
hmm, okay.. også noget i den retning jeg forestillet mig.. Hvordan kan jeg lave sådan et redigerlink ?
23. april 2004 - 18:45
#3
Gider du at poste det kode du har, så er det nemmere :)
23. april 2004 - 19:08
#4
//Formen til at updatere <html> <head> <title>Ret en nyhed</title> <link rel="stylesheet" type="text/css" href="../style.css"> </head> <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> <?php include ('../config.php'); // Hent først data ud $resultat = mysql_query("select * FROM nyhedsys order by date desc"); // Kør så igennem for hver række while ($raekke = mysql_fetch_array($resultat)) { extract($raekke); } ?> <form ACTION="retnyhed.php" method="get"> <p><h2><b>.: Ret en nyhed :.</b></h2><b><br> Overskrift:<br> <input type="text" value="<? echo"$headline" ?>" name="headline"><br> <br> Navn:<br> <input type="text" value="<? echo"$name" ?>" name="name"><br> <br> Email:<br> <input type="text" value="<? echo"$email" ?>" name="email"><br> <br> Nyhed:<br> <textarea name="news" rows="10" cols="35"><? echo"$news" ?></textarea></b></p> <br> <input type=submit value=Updater name="submit" > </form> </body> </html> //SQL delen <? include "../config.php"; $id = time(); mysql_query(" UPDATE nyhedsys SET id='$id',headline='$headline',name='$name',email='$email',news='$news',date=now()") or die(mysql_error()); header("Location: ../nyheder.php"); ?>
23. april 2004 - 19:35
#5
prøv dette //Formen til at updatere <html> <head> <title>Ret en nyhed</title> <link rel="stylesheet" type="text/css" href="../style.css"> </head> <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> <?php include ('../config.php'); if( isset( $_GET['id'] ) ) $id = $_GET['id']; else $id = null; if( $id !== null ) { // Hent først data ud $resultat = mysql_query("select * FROM nyhedsys WHERE id = '$id'"); // Kør så igennem for hver række $raekke = mysql_fetch_array($resultat); if( $raekke == null ) die("Fandt ikke rækken"); extract($raekke); ?> <form ACTION="retnyhed.php" method="get"> <input type="hidden" value="<? echo $id ?>" name="id"> <p><h2><b>.: Ret en nyhed :.</b></h2><b><br> Overskrift:<br> <input type="text" value="<? echo"$headline" ?>" name="headline"><br> <br> Navn:<br> <input type="text" value="<? echo"$name" ?>" name="name"><br> <br> Email:<br> <input type="text" value="<? echo"$email" ?>" name="email"><br> <br> Nyhed:<br> <textarea name="news" rows="10" cols="35"><? echo"$news" ?></textarea></b></p> <br> <input type=submit value=Updater name="submit" > </form> <?php } else { $sql = "SELECT id, name FROM nyhedsys ORDER BY name"; $res = mysql_query($sql) or die(mysql_error()); // Lav liste while($row = mysql_fetch_array()) { print '<a href="' . $_SERVER['PHP_SELF'] . '?id=' . $row[0] . '">'. stripslashes($row[1]). '</a><br />'; } } ?> </body> </html> //SQL delen <? include "../config.php"; $id = $_GET['id']; mysql_query("UPDATE nyhedsys SET headline='$headline',name='$name',email='$email',news='$news',date=now() WHERE id='$id'") or die(mysql_error()); header("Location: ../nyheder.php"); ?>
23. april 2004 - 20:32
#6
Nice, det virker.. mange tak..Læg et svar og der er point..
23. april 2004 - 20:52
#7
Det var så lidt. Hvis du har spørgsmål, så sig endelig til.
24. april 2004 - 17:15
#8
kk
Computerworld tilbyder specialiserede kurser i database-management