Avatar billede fkp85 Praktikant
20. august 2012 - 13:29 Der er 6 kommentarer og
1 løsning

checkboxe og php??

Jeg skal have lavet en if struktur der går ind og tjekker op på om der er nogle checkboxe der er krydset af, hvis ja, så skal de sættes ind i db.. Nogle ideer?

Koden ser således ud indtil videre:

<h2 style="margin-left:10px;">Oversigt over produkt guides</h2><br />
<?php
    if(isset($_SESSION['in'])){
        echo '<div style="margin-left:10px;">' .$_SESSION["in"] .'</div>';
        unset($_SESSION['in']);
    };
    if(isset($_SESSION['upd'])){
        echo '<div style="margin-left:10px;">' .$_SESSION["upd"] .'</div>';
        unset($_SESSION['upd']);
    };
?>
<table style="margin-left:10px;"><tr>
<th style="width:100px;">Rediger</th>
<th style="width:250px;" align="left">Product guide</th>
<th style="width:50px;">Vælg</th></tr>
<?php
$query = mysql_query("SELECT * FROM products_guides ORDER BY product_guides_id ASC") or die(mysql_error());
$x = 0;
while($row = mysql_fetch_assoc($query)) {
    $x++;
    $bgcolor = $x%2 == 0 ? 'ffffff' : 'eeeeee';
   
    echo '<tr style="background-color:#'.$bgcolor.';"><td><a href="?edit='.$row['product_guides_id'].'">Ret</a></td><td>'.$row['products_guides_name'].'</td><td>
                <form method="post"><input type="checkbox" name="chk1[]" id="'.$row['products_guides_id'].'" value=""></form>
    </td></tr>';   
}

?>
Avatar billede fkp85 Praktikant
20. august 2012 - 13:30 #1
Behøver ikke nødvendigvis at være chk1[], kunne måske også bare være lvl 0 eller 1 måske?
Avatar billede olebole Juniormester
20. august 2012 - 16:36 #2
<ole>

De checkbox'e, der er afkrydset kan du finde i $_POST['chk1'] eller $_GET['chk1']. De, der ikke er krydset af, kan du ikke finde. Så du sætter bare dem ind, du finder på serveren.

Skal du bruge dem til noget realistisk, skal du dog nok give dem en value i HTML-koden  =)

/mvh
</bole>
Avatar billede fkp85 Praktikant
21. august 2012 - 09:09 #3
Nu ser det således ud, men det registrerer kun at der er bliver krydset af, men den udskriver ikke id'et i value??

<table style="margin-left:10px;"><tr>
<th style="width:100px;">Rediger</th>
<th style="width:250px;" align="left">Product guide</th>
<th style="width:50px;">Vælg</th></tr>
<?php
$query = mysql_query("SELECT * FROM products_guides ORDER BY product_guides_id ASC") or die(mysql_error());
$x = 0;
while($row = mysql_fetch_assoc($query)) {
    $x++;
    $bgcolor = $x%2 == 0 ? 'ffffff' : 'eeeeee';
   
    echo '<tr style="background-color:#'.$bgcolor.';"><td><a href="?edit='.$row['product_guides_id'].'">Ret</a></td><td>'.$row['products_guides_name'].'</td><td>
                <form method="post"><input type="checkbox" name="guides[]" value="'.$row['products_guides_id'].'">
    </td></tr>';   
}
if(!empty($_POST['saveit'])) {
    print_r($_POST['guides']);
}
?>

</tr></table>
<br>
<br>
<div style="margin-left:10px;"><a href="?create=1&id=<?php echo $id; ?>">Opret ny</a>&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="saveit" value="Vælg"></form><br /><br /></div>
Avatar billede olebole Juniormester
21. august 2012 - 15:22 #4
Hvis der ikke udskrives noget i value - og dy vitterligt har et felt i databasen, som hedder products_guides_id - så indeholder dette felt ikke noget.

Hvis feltet eksisterer, og der står noget i det, skriver din kode indholdet ud  =)

En anden ting er, at den resulterende kode er hamrende invalid. Du kan aldrig have en HTML-kode, der ser sådan ud:

<td>
    <form method="post"><input type="checkbox" name="guides[]" value="1234">
</td>

Enten skal du lægge formen rundt om hele tabellen - eller også skal hele formen ligge i én og samme TD
Avatar billede fkp85 Praktikant
23. august 2012 - 11:09 #5
Tak olebole, fandt selv ud af det, men læg et svar alligevel for at gøre mig opmærksom på formlen ;)
Avatar billede olebole Juniormester
23. august 2012 - 14:02 #6
Ellers tak, jeg samler ikke point. Læg selv et svar og accepter det, så tråden lukkes  =)
Avatar billede fkp85 Praktikant
23. august 2012 - 15:26 #7
..
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester