Lord_Linus Skrevet 26. oktober 2004 Del Skrevet 26. oktober 2004 (endret) Start på den siste posten jeg har lagt inn. Holder på med å lage en database som skal innholde rc biler. Har lagd et skjema som klarer å sette inn rc biler i databasen, holder nå på med å lage et skjema som gjør at man kan oppdatere ting i databasen, og her kommer problemene. Har tatt stort sett alt fra en bok om php og mysql er ennå ikke flink nok selv til å kode. Har lagd en function som skal lage dropdown meny: function create drop_down($identifier,$pairs,$firstentry,$multiole="") { //Start the dropdown list with the <select> element and title $dropdown = "<select name=\"$identifier\" multiple=\"$multiple\">"; $dropdown .= "<option name=\"\">$firstentry</option>"; //Create the dropdown elements foreach($pairs AS $value => $name) { $dropdown .= "<option name=\"$value\">$name</option>"; } //conclude the dropdown and return it echo "</select>"; return $dropdown; } Men hvor skal den ligge i for hold til denne: <?php // Connect to the db server and select a database mysql_connect("localhost","root","triadpass") or die("could not connet to mysql server"); mysql_select_db("frizells") or die("Could not select database"); //Retrive the language table data $query = "SELECT rowID, name FROM rc_bil ORDER BY name"; $result = mysql_query($query); //Create an associative array based on the table data while($row = mysql_fetch_array($result)) { $value = $row["rowID"]; $name = $row["name"]; $pairs["$value"] = $name; } echo "Velg produkt som ønskes oppdatert: <br />"; echo create_dropdown("rc_bil",$pairs,"Choose One:"); ?> Trenger seriøst hjelp her.. da dette er utenfor mitt kunnskap område. Endret 9. november 2004 av Lord_Linus Lenke til kommentar
Lemkin Skrevet 26. oktober 2004 Del Skrevet 26. oktober 2004 så lenge du definrere funksjonen før du bruker den går det bra. God kodestil vil være at du har feks alle funksjonene øverst i dokumentet, eller har dem i en egen fil, feks functions.php, som du inkluderer på toppen av dokumentet Lenke til kommentar
Torbjørn Skrevet 26. oktober 2004 Del Skrevet 26. oktober 2004 det går fint å ha funksjonsdefinisjonen hvor som helst i fila. jeg samler dem ofte til slutt. Lenke til kommentar
Lord_Linus Skrevet 26. oktober 2004 Forfatter Del Skrevet 26. oktober 2004 hvordan definerer jeg funksjonen da? Lenke til kommentar
jorgis Skrevet 26. oktober 2004 Del Skrevet 26. oktober 2004 Du har allerede definert funksjonen med function create drop_down($identifier,$pairs,$firstentry,$multiole="") . Du trenger bare å plassere den enten nederst eller øverst i koden din (midt i går fint an også, men blir mer uoversiktelig). Så må du sette inn et funksjonskall der du trenger det. Lenke til kommentar
robgar Skrevet 26. oktober 2004 Del Skrevet 26. oktober 2004 (endret) navn_paa_funksjon(parametere); eller for å få verdien som blir returnert (i noen ) skrevet ut: $string = navn_paa_funkjson(parametere); print $string; jeg var vist altfor treig. Endret 26. oktober 2004 av robgar Lenke til kommentar
Lord_Linus Skrevet 26. oktober 2004 Forfatter Del Skrevet 26. oktober 2004 Gidder noen å sette det sammen for meg, da hadde jeg blitt glad. Får det ikke til å funke, når jeg setter i funksjon nederst i koden, og jeg kjører siden på min webserver får jeg ingenting opp på skjermen.. Lenke til kommentar
jorgis Skrevet 26. oktober 2004 Del Skrevet 26. oktober 2004 <?php function create drop_down($identifier,$pairs,$firstentry,$multiole="") { //Start the dropdown list with the <select> element and title $dropdown = "<select name=\"$identifier\" multiple=\"$multiple\">"; $dropdown .= "<option name=\"\">$firstentry</option>"; //Create the dropdown elements foreach($pairs AS $value => $name) { $dropdown .= "<option name=\"$value\">$name</option>"; } //conclude the dropdown and return it echo "</select>"; return $dropdown; } // Connect to the db server and select a database mysql_connect("localhost","root","triadpass") or die("could not connet to mysql server"); mysql_select_db("frizells") or die("Could not select database"); //Retrive the language table data $query = "SELECT rowID, name FROM rc_bil ORDER BY name"; $result = mysql_query($query); //Create an associative array based on the table data while($row = mysql_fetch_array($result)) { $value = $row["rowID"]; $name = $row["name"]; $pairs["$value"] = $name; } echo "Velg produkt som ønskes oppdatert: <br />"; echo create_dropdown("rc_bil",$pairs,"Choose One:"); ?> Btw: Er du sikker på at du har infoen i databasen din, og at logininfo stemmer? Lenke til kommentar
Lord_Linus Skrevet 26. oktober 2004 Forfatter Del Skrevet 26. oktober 2004 har info i databasen ja, det har jeg sjekket, det skjemaet jeg har laget for å putte inn info i databasen fungerer som det skal, men ikke dette skjemaet for oppdatering. Vet ikke hva jeg skal gjøre? Er det noe galt med koden? Lenke til kommentar
Lord_Linus Skrevet 31. oktober 2004 Forfatter Del Skrevet 31. oktober 2004 Har løst det problemet jeg opprinelig hadde, tenkte jeg bare kunne fortsette å poste i denne tråden så har jeg spart forumet for en post. Mitt problem nå er følgenede; har klart å hente ut navnene på bilene og puttet dem i en liste, når jeg merker en av dem og trykker på submit, så skal da den bilen jeg har valgt laste inn i et nytt skjerma, slik at jeg kan oppdatere den radden i databasen. men når jeg trykker på submit så kommer bare skjemaet opp, med tomme rubrikker, gidder noen å se over koden for og evnt fortelle meg hva jeg må gjøre for å løse problemet?. Her er da koden hvor jeg velger bilen <form action="modify.php" method="post"> <?php // Connect to the db server and select a database mysql_connect("localhost","root","triadpass"); mysql_select_db("frizells"); //Retrive the language table data $query = "SELECT rowID, name FROM rc_bil ORDER BY name"; $result = mysql_query($query); //Create an associative array based on the table data while($row = mysql_fetch_array($result)) { $value = $row["rowID"]; $name = $row["name"]; $pairs["$value"] = $name; } echo "Velg produkt som ønskes oppdatert: <br />"; echo create_dropdown("rc_bil",$pairs,"velg 1pp:"); function create_dropdown($identifier,$pairs,$firstentry,$multiple="") { //Start the dropdown list with the <select> element and title $dropdown = "<select name=\"$identifier\" multiple=\"$multiple\">"; $dropdown .= "<option name=\"\">$firstentry</option>"; //Create the dropdown elements foreach($pairs AS $value => $name) { $dropdown .= "<option name=\"$value\">$name</option>"; } //conclude the dropdown and return it return $dropdown; } ?> </select><br> <input type="submit" name="submit" value="submit!"> </form> Og her er koden som legger inn infoen i de tomme "rubrikkene" <?php if (isset($_POST['submit'])) { $rowID = $_POST['rowID']; $query = "SELECT produktid, name, lagerstatus, pris FROM rc_bil WHERE rowID='$rowID'"; $result = mysql_query($query); list($produktid,$name,$lagerstatus,$pris) = mysql_fetch_row($result); include "modifyform2.php"; } ?> Og her er modifyform2 <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> <input type="hidden" name="rowID" value="<?php echo $rowID;?>"> <p> Product ID:<br /> <input type="text" name="produktid" size="10" maxlenght="10" value="<?php echo $produktid;?>" /> </p> <p> Name:<br /> <input type="text" name="name" size="30" maxlenght="30" value="<?php echo $name;?>" /> </p> <p> Lagerstatus:<br /> <input type="text" name="lagerstatus" size="8" maxlenght="8" value="<?php echo $lagerstatus;?>" /> </p> <p> Pris:<br /> <input type="text" name="pris" size="6" maxlenght="6" value="<?php echo $pris;?>" /> </p> <p> <input type="submit" name="submit" value="Submit!" /> </p> </form> Har laget skjemaet som skal brukes for å oppdatere databasen, men har ikke prøvd det, da jeg vil få til det jeg holder på med nå. Vet at dette er mye å se over, men takker og bukker for den som gidder. PHP er gøy!! Lenke til kommentar
Lord_Linus Skrevet 2. november 2004 Forfatter Del Skrevet 2. november 2004 Ingen som kan hjelpe meg med dette problemet? Lenke til kommentar
Lord_Linus Skrevet 2. november 2004 Forfatter Del Skrevet 2. november 2004 Tror jeg har funnet feilen. variablen $rowID blir ikke postet. Når jeg setter inn rowID manuelt i modify.php, så kommer de ønskede dataene opp. Så feilen ligger vel da et sted i variablene som blir postet. Men hvordan jeg løser dette vet jeg ikke. Lenke til kommentar
eXZire Skrevet 2. november 2004 Del Skrevet 2. november 2004 Altså. Jeg kan ikke se noe sted hvor noen "rowID" blir postet? Slik som du har satt det opp nå ville jeg ha sagt at $rowID = $_POST['rowID']; heller skulle vær $rowID = $_POST['rc_bil']; ... Prøv det du Lenke til kommentar
Lord_Linus Skrevet 2. november 2004 Forfatter Del Skrevet 2. november 2004 Kan ikke si at det hjalp Lenke til kommentar
eXZire Skrevet 2. november 2004 Del Skrevet 2. november 2004 Se på HTML-koden skriptet lager når du kjører det. Hva står som name i <select> taggen?? Lenke til kommentar
Lord_Linus Skrevet 3. november 2004 Forfatter Del Skrevet 3. november 2004 (endret) Her er hele koden som generert; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> <form action="/frizellstherevolution/modify.php" method="post"> <input type="hidden" name="rowID" value=""> <p> Product ID:<br /> <input type="text" name="produktid" size="10" maxlenght="10" value="" /> </p> <p> Name:<br /> <input type="text" name="name" size="30" maxlenght="30" value="" /> </p> <p> Lagerstatus:<br /> <input type="text" name="lagerstatus" size="8" maxlenght="8" value="" /> </p> <p> Pris:<br /> <input type="text" name="pris" size="6" maxlenght="6" value="" /> </p> <p> <input type="submit" name="submit" value="submit" /> </p> </form> </BODY> </HTML> Og her den som blir generert av create_dropdown() 3<HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> <form action="modify.php" method="POST"> Velg produkt som ønskes oppdatert: <br /></select><select name="rc_bil" multiple=""><option name="">velg 1:</option><option name="7">Bullhead</option><option name="9">Ford Focus WRC</option><option name="11">King Black Foot</option><option name="12">Mega Force</option><option name="4">Stormracer 4wd</option><option name="6">Subaru Impreza WRC</option><option name="8">TXT-1 m/option</option><option name="5">Ultima St Racing Gp</option><option name="10">Wild Willy</option></select><br> <input type="submit" name="submit" value="submit"> </form> </BODY> </HTML> Endret 3. november 2004 av Lord_Linus Lenke til kommentar
eXZire Skrevet 4. november 2004 Del Skrevet 4. november 2004 Heh //Create the dropdown elements foreach($pairs AS $value => $name) { $dropdown .= "<option name=\"$value\">$name</option>"; } //conclude the dropdown and return it .. er ikke option name.. skal være option value =) //Create the dropdown elements foreach($pairs AS $value => $name) { $dropdown .= "<option value=\"$value\">$name</option>"; } //conclude the dropdown and return it Hvis du DA bruker variablen $_POST['rc_bil'] som istedetfor $rowID, skal det funke =) Lenke til kommentar
Lord_Linus Skrevet 4. november 2004 Forfatter Del Skrevet 4. november 2004 Jaaaaaaaaaaaa, det fungerte...takk!! Nå ble jeg glad., Lenke til kommentar
eXZire Skrevet 4. november 2004 Del Skrevet 4. november 2004 Er ikke alltid like lett Men du burde lære deg å søke etter feil.. du vil gjøre det mye hvis du skal bedrive PHP for å si det slik.. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå