13. marts 2008 - 11:59
Der er
24 kommentarer og 1 løsning
Update sommerhus info
hej. Jeg har lavet en select box hvor man kan vælge de forskellige sommerhuse, så skal man når man trykker på vælg ryge over på en ny side, hvor en formular bliver udfyldt med sommerhusets informationer hvilke man så kan redigere. Jeg kan ikke lige finde ud af hvordan jeg helt korrekt skal få idét med over, lige nu laver den en form for hver af sommerhusene, den skal kun lave én,som så bliver udfyldt med information på baggrund af det medsendte id. Jeg har følgende kode: Først select boxen: <?php include('../../Backup2/includes/db_con.php'); if (isset($_GET['valg'])) { } $r=mysql_query("select * from sommerhus_info"); while($row=mysql_fetch_array($r)){ echo "<option value='$row[id]'>$row[titel]</option>"; } ?> </select> <br> <input type="submit" name="valg" value="Vælg" class="knap" style="background-color:ccc"> </form> Her er koden til formen: <? include("../../Backup2/includes/db_con.php"); if (isset($_POST["submit"])) { $id = $_GET['id']; $titel=$_POST["titel"]; $sove=$_POST["sove"]; $kvad=$_POST["kvad"]; $strand=$_POST["strand"]; $beskriv=$_POST["beskriv"]; $pris=$_POST["pris"]; $res=$_POST["res"]; mysql_query("UPDATE sommerhus_info SET titel ='$titel', soveplads='$sove',kvadratmeter='$kvad',afstand_strand='$strand',beskrivelse='$beskriv',pris='$pris', reserv='$res' WHERE id=$_GET[id]"); ?> <script type="text/javascript"> window.location.href="ret.php"; </script> <? }else{ $sql=mysql_query("SELECT * FROM sommerhus_info"); while ($data=mysql_fetch_array($sql)){ ?> <form method="POST" action="<?echo $PHP_SELF?>"> Titel:<br> <input type="text" name="titel" value="<?echo $data[titel]?>"><br> Sovepladser:<br> <input type="text" name="sove" value="<?echo $data[soveplads]?>"><br> Kvadratmeter:<br> <input type="text" name="kvad" value="<?echo $data[kvadratmeter]?>"><br> Afstand til strand:<br> <input type="text" name="strand" value="<?echo $data[afstand_strand]?>"><br> Beskrivelse:<br> <input type="text" name="beskriv" value="<?echo $data[beskrivelse]?>"><br> Pris:<br> <input type="text" name="pris" value="<?echo $data[pris]?>"><br> Reserveret:<br> <input type="text" name="res" value="<?echo $data[reserv]?>"><br> <input type="submit" name="submit" value="Opdater"> <input type="hidden" name="id" value="<?echo $data[id]?>"> </form> <? } } ?> Håber man kan forstå hvad jeg vil.
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
13. marts 2008 - 12:10
#1
if (isset($_POST["submit"])) { skal nok rettes til: if (isset($_POST["valg"])) {
13. marts 2008 - 12:14
#2
Din Submit hedder: <input type="submit" name="submit" value="Opdater"> så if (isset($_POST["submit"])) { bør være korrekt nok.
13. marts 2008 - 12:15
#3
Sorry, glem mit input. :o(
13. marts 2008 - 12:20
#4
jeg vil have select alene på en side. Trykker man vælg kommer man videre til en side med en form som er udfyldt med informationerne på baggrund af det medsente sommerhus id.
13. marts 2008 - 12:21
#5
13/03-2008 12:10:55 ;)
13. marts 2008 - 12:22
#6
Først trykker man på knappen: <input type="submit" name="valg" value="Vælg" class="knap" style="background-color:ccc"> Bemærk, at den har name="valg"! På næste side tjekkes så: if (isset($_POST["submit"])) { Altså om der er klikket på knappen, der har name="submit", men da det jo er "valg" man har klikket på, viser den i stedet for bare allesammen.
13. marts 2008 - 12:33
#7
jeg kan simpelthen ikke få det til at funge.. Er der en ide til hvordan man ellers ville kunne gøre det?
13. marts 2008 - 12:36
#8
Viser den stadig allesammen? Hvordan ser formularkoden ud til den første selectboks? Det er den måde, du forsøger at bruge, der er klart den bedste. Et eller andet sted ligger der bare en fejl.
13. marts 2008 - 13:01
#9
Jeg har lavet denne select box på en side. <?php include('../../Backup2/includes/db_con.php'); if (isset($_GET['valg'])) { } $r=mysql_query("select * from sommerhus_info"); while($row=mysql_fetch_array($r)){ echo "<option value='$row[id]'>$row[titel]</option>"; } ?> </select> <br> <input type="submit" name="valg" value="Vælg" class="knap" style="background-color:ccc"> </form>
13. marts 2008 - 14:31
#10
Har forsøgt at samle det hele i en fil... <?php include('../../Backup2/includes/db_con.php'); if(isset($_POST['valg']) && isset($_POST['sommerhus']) && is_numeric($_POST['sommerhus'])){ $id = intval($_POST['sommerhus']); $sql=mysql_query("SELECT * FROM sommerhus_info WHERE id = $id LIMIT 1"); $data=mysql_fetch_array($sql); ?> echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">'; Titel:<br> <input type="text" name="titel" value="<?echo $data[titel]?>"><br> Sovepladser:<br> <input type="text" name="sove" value="<?echo $data[soveplads]?>"><br> Kvadratmeter:<br> <input type="text" name="kvad" value="<?echo $data[kvadratmeter]?>"><br> Afstand til strand:<br> <input type="text" name="strand" value="<?echo $data[afstand_strand]?>"><br> Beskrivelse:<br> <input type="text" name="beskriv" value="<?echo $data[beskrivelse]?>"><br> Pris:<br> <input type="text" name="pris" value="<?echo $data[pris]?>"><br> Reserveret:<br> <input type="text" name="res" value="<?echo $data[reserv]?>"><br> <input type="submit" name="submit" value="Opdater"> <input type="hidden" name="id" value="<?echo $data[id]?>"> </form> }elseif(isset($_POST['submit']) && isset($_POST['id']) && is_numeric($_POST['id'])){ $id = $_POST['id']; $titel=$_POST["titel"]; $sove=$_POST["sove"]; $kvad=$_POST["kvad"]; $strand=$_POST["strand"]; $beskriv=$_POST["beskriv"]; $pris=$_POST["pris"]; $res=$_POST["res"]; mysql_query("UPDATE sommerhus_info SET titel ='$titel', soveplads='$sove',kvadratmeter='$kvad',afstand_strand='$strand',beskrivelse='$beskriv',pris='$pris', reserv='$res' WHERE id=$_GET[id]"); ?> <script type="text/javascript"> window.location.href="ret.php"; </script> <? }else{ echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">'; echo '<select name="sommerhus">'; $r=mysql_query("select * from sommerhus_info"); while($row=mysql_fetch_array($r)){ echo "<option value='$row[id]'>$row[titel]</option>"; } ?> </select> <input type="submit" name="valg" value="Vælg" class="knap" style="background-color:ccc"> </form> <? } ?> Er dog ikke testet.
13. marts 2008 - 14:49
#11
Nu går den det rigtige sted hen, og udfylder formularen med de rigtige informationer, men den opdaterer ikke noget i databasen.
13. marts 2008 - 14:54
#12
Så er det denne kode del som ikke er korrekt: }elseif(isset($_POST['submit']) && isset($_POST['id']) && is_numeric($_POST['id'])){ $id = $_POST['id']; $titel=$_POST["titel"]; $sove=$_POST["sove"]; $kvad=$_POST["kvad"]; $strand=$_POST["strand"]; $beskriv=$_POST["beskriv"]; $pris=$_POST["pris"]; $res=$_POST["res"]; mysql_query("UPDATE sommerhus_info SET titel ='$titel', soveplads='$sove',kvadratmeter='$kvad',afstand_strand='$strand',beskrivelse='$beskriv',pris='$pris', reserv='$res' WHERE id=$_GET[id]"); ?> <script type="text/javascript"> window.location.href="ret.php"; </script> <? }
13. marts 2008 - 14:59
#13
ja.. men jeg kan godt nok ikke se hvad det lige er!!
13. marts 2008 - 15:01
#14
Og der skal self. lige åbnes for php her: </form> <?}elseif(isset($_POST['submit']) && isset($_POST['id']) && is_numeric($_POST['id'])){ $id = $_POST['id']; $titel=$_POST["titel"]; $sove=$_POST["sove"]; $kvad=$_POST["kvad"]; $strand=$_POST["strand"]; $beskriv=$_POST["beskriv"]; $pris=$_POST["pris"]; $res=$_POST["res"]; :)
13. marts 2008 - 15:03
#15
det er ikke det der er galt, for det har jeg gjort. Har sat de manglende php tags ind.
13. marts 2008 - 15:11
#16
Prøv at udskriv: echo 'Vi skal opdatere'; lige efter: <?}elseif(isset($_POST['submit']) && isset($_POST['id']) && is_numeric($_POST['id'])){ Så kan vi se om den når der til.
13. marts 2008 - 15:16
#17
det gør den. Når jeg trykker på vælg skriver den "Vi skal opdatere" og formen kommer frem.
13. marts 2008 - 15:37
#18
Smid en or die(mysql_error()); efter din mysql_query() Så kan vi evt se om der er fejl i sql'en.
14. marts 2008 - 08:25
#19
Den gav mig følgende fejl efter or die blev sat på: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
14. marts 2008 - 09:52
#20
Prøv følgende: echo 'DEBUG: ' . "UPDATE sommerhus_info SET titel ='$titel', soveplads='$sove',kvadratmeter='$kvad',afstand_strand='$strand',beskrivelse='$beskriv',pris='$pris', reserv='$res' WHERE id=$_GET[id]" . '<br />'; mysql_query("UPDATE sommerhus_info SET titel ='$titel', soveplads='$sove',kvadratmeter='$kvad',afstand_strand='$strand',beskrivelse='$beskriv',pris='$pris', reserv='$res' WHERE id=$_GET[id]") or die(mysql_error());
14. marts 2008 - 10:01
#21
DEBUG: UPDATE sommerhus_info SET titel ='Kæmpe sommerhus', soveplads='8',kvadratmeter='120 ',afstand_strand='600 m',beskrivelse='lækkert, stort, nyt køkken og bad',pris='2500', reserv='1' WHERE id= You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 Det er godt nok irriterende at det skal være så besværligt..
14. marts 2008 - 10:09
#22
for mig ser det ud som om den ikke får noget id med.
14. marts 2008 - 10:13
#23
Hehe.. jeg har selv fået det til at virke :o) skrev lige noget lidt anderledes i sql sætningen: mysql_query("UPDATE sommerhus_info SET titel ='$titel', soveplads='$sove',kvadratmeter='$kvad',afstand_strand='$strand',beskrivelse='$beskriv',pris='$pris', reserv='$res' WHERE id=$id"); nu virker det perfekt! Er rigtig glad for al din hjælp så du skal selvfølgelig ha point. Smid et svar jakobdo.
14. marts 2008 - 10:43
#24
Svar!
14. marts 2008 - 11:02
#25
Takker for point.
Vi tilbyder markedets bedste kurser inden for webudvikling