13. marts 2008 - 15:04Der er
16 kommentarer og 1 løsning
Tildel tabelrække radio button. Klar / Færdig / Slet
Jeg er spritny i PHP-verdenen, så vil sætte stor pris på hvis nogen kan fortælle mig hvordan jeg griber følgende problemstilling bedst an: Jeg har lavet en form som indsætter data i en MySQL tabel, og lister det samlede indhold på "modtagersiden". Jeg vil frygteligt gerne have tildelt 3 radiobuttons til hver af disse rows, som så giver muligheden for at ændre status imellem 2 valgmuligheder, eller helt at slette den pågældende row fra databasen.
Jeg ved bare ikke hvor jeg skal begynde eller slutte. Jeg har et asscending ID som giver et unikt ID til alle rows. Jeg forestiller mig at jeg skal bruge dette, men jeg ved ikke hvordan jeg får radio buttons til at "føle" hvilket ID jeg ændrer. Det skal jo gerne være dynamisk så jeg ikke skal indtaste alle IDs manuelt.
Nogen som kan gennemskue hvad jeg mener, og måske hjælpe mig i den rigtige retning?
Hvis vi tager noget HTML fra bunden, så er en radiobutton jo følgende:
Følgende gør man kan sende en JA eller NEJ retur. Ja: <input type="radio" name="test" value="ja"> Nej: <input type="radio" name="test" value="nej">
Værdien kan udlæses af $_POST eller $_GET med: ['test']
Hvis der er tale som flere radiobuttons, kan man f.eks. lave: Ja: <input type="radio" name="test[1]" value="ja"> Nej: <input type="radio" name="test"[1] value="nej"> Ja: <input type="radio" name="test[2]" value="ja"> Nej: <input type="radio" name="test"[2] value="nej"> Ja: <input type="radio" name="test[3]" value="ja"> Nej: <input type="radio" name="test"[3] value="nej">
Det er jeg klar over. Lad os sige jeg laver en rullemenu istedet. Den skal automatisk lave et rullegardin til hver entry i min tabel med 3 muligheder. Når man så trykker "Send" skal den ændre de pågældende entries (rows) i min tabel, til den pågældende værdi i mit rullegardin.
Det ville være dejligt. Her er min form: <form action="todo.php" method="post"> <p>Navn:</p> <input type="text" name="navn" /> <br> <p>Alder:</p> <input type="text" size="4" maxlength="3" name="alder"><br> <p>E-mail:</p> <input type="text" name="email" /><br><br> <input type="submit" value="Opret" /> </form>
Her er todo.php: <?php include("../phpkursus/connect.php"); //Inkluder filen der connecter til min database ?> <?php //Her indsætter den værdierne fra formen til tabellen $navn = $_POST["navn"]; $alder = $_POST["alder"]; $email = $_POST["email"]; if ($navn == $null || $alder == $null || $email == $null) { echo "Du skal udfylde alle felter"; } else { mysql_query("INSERT INTO optus_dk_test (navn, alder, email) VALUES ('$navn', '$alder', '$email')") OR DIE(mysql_error()); } ?> <br><br> <?php //Her henter den al data fra tabellen og skriver det til siden med et loop som kører hele tabellen igennem $query = mysql_query("SELECT * FROM optus_dk_test"); while($row = mysql_fetch_assoc($query)) //Lav en while der kører alle rækker igennem { echo $row['id'] . " : " . $row['navn'] . " - " . $row['alder'] . " - " . $row['email'] . "<br/>"; } ?> <br><br> <br> <a href="../phpkursus" target="self">TILBAGE</a>
Jeg vil egentlig gerne bare have en knap hvor der står "Slet" ud for hver entry, som så sletter den pågældende row fra min tabel.
Aah.. Jeg var ikke klar over at man kunne indsætte html-kode med echo. Mange tak for det, det ser ud som det skal.
Jeg har prøvet at hente mine data på modtagersiden ved hjælp af: $sletnummer1 = $_POST["action"]; $sletnummer2 = $_POST["action[10]"]; $sletnummer3 = $_POST["action[]"];
$sletnummer1 viser bare Array, så jeg går ud fra at den har registreret mit valg. Jeg kan bare ikke finde ud af at specificere hvilken data jeg gerne vil hente ud, og uden det, kan jeg ikke lave et loop. Jeg leger lidt med det, men hvis en af jer kan lette vejen for mig, ville det være skønt.
For øvrigt kan jeg oplyse at der, når jeg bruger print_r($_POST["action"]); står f.eks.: Array ( [3] => 1 ) Så jeg kan se at ID 3 har værdi 1. Det er jo fantastisk, men jeg kan ikke få den værdi tilegnet en variable.
Mange tak for hjælpen! Det sidste jeg mangler at vide er så: Hvordan henter jeg hvilket ID der er blevet ændret? Nu ved jeg at værdien for min form er 1. Men hvordan ved jeg hvilket ID der er ændret? Jeg har jo mange på listen. Jeg kan godt give lidt ekstra point hvis du vil, ved godt at jeg hænger dig lidt i skørterne
For lige at tage den tilbage til the basics. Jeg vil gerne vide hvordan jeg sletter en udvalgt row i min tabel i en mysql database. Dette kan gøres med et link, radio button eller whatever. Jeg er ved at køre helt sur i det :-S
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.