Avatar billede dinno Nybegynder
23. september 2008 - 16:19 Der er 14 kommentarer og
1 løsning

Resulttat visning efter checkbox af krydsning

Hej jeg har lidt problemer med resultat visning efter checkbox afkrydsning...
feks. hvis der er 10 ting som kan krydses af og man krydser 1,2 og 7,8 samt nummer 10 af og trykker på "bekræft dit valg" så bliver man sendt vidre til en anden side hvor resultatet af ens valg vises i dette tilfælde vises valg 1 2 efterfuldt af tomme felter(linjeskift uden visning af nogle resultater) til og med 6, derefter vises nr, 7 og 8 efterfuldt af 2 linjeskift og tilsidst afkrydsning nr, 10 det er noget skidt med alle disse tomme felter. Jeg ville selvfølgelig gerne have vist uden tomme felter koden af visning visses her

<?php

$navn = $_GET['navn'];
$adresse = $_GET['adresse'];
$email = $_GET['email'];
$kontakttlf = $_GET['kontakttlf'];
$checkbox = $_GET[''];
$checkbox[] = $_GET['1'];
$checkbox[] = $_GET['2'];
$checkbox[] = $_GET['3'];
$checkbox[] = $_GET['4'];
$checkbox[] = $_GET['5'];
$checkbox[] = $_GET['6'];
$checkbox[] = $_GET['7'];
$checkbox[] = $_GET['8'];
$checkbox[] = $_GET['9'];
$checkbox[] = $_GET['10'];
$checkbox[] = $_GET['11'];
$checkbox[] = $_GET['12'];
$checkbox[] = $_GET['13'];
$checkbox[] = $_GET['14'];
$checkbox[] = $_GET['15'];
$checkbox[] = $_GET['16'];
$checkbox[] = $_GET['17'];
$checkbox[] = $_GET['18'];
$checkbox[] = $_GET['19'];
$checkbox[] = $_GET['20'];
$checkbox[] = $_GET['21'];
$checkbox[] = $_GET['22'];
$checkbox[] = $_GET['23'];
$checkbox[] = $_GET['24'];
?>
                <p align="left"><span class="style20"><u>Bekr&aelig;ft f&oslash;lgende
                    data </u></span></p>
                <table border="0" cellspacing="2" cellpadding="2">
                  <tr>
                  <td><strong>Navn:</strong></td>
                  <td><span class="style7"><?echo $navn;?></span></td>
                  </tr>
                  <tr>
                  <td><span class="style1"><span class="style19">Adresse</span></span>:</td>
                  <td><span class="style7"><?echo $adresse;?></span></td>
                  </tr>
                  <tr>
                  <td>Kontakt tlf:</td>
                  <td><span class="style7"><?echo $kontakttlf;?></span></td>
                  </tr>
                  <tr>
                  <td><strong>E-Mail:</strong></td>
                  <td><strong><span class="style7"><?echo $email;?></span></strong></td>
                  </tr>
                  <tr>
                  <td colspan="2"><span class="style19">Jeg valgt følgende :</span></td>
                  </tr>
                  <tr>
                  <td colspan="2">
                    <span class="style7">
                    <?php
            for($i=0; $i<count($checkbox)-1; $i++){
            echo $checkbox[$i]."<br>";
            }
            ?>
Avatar billede olebole Juniormester
24. september 2008 - 14:47 #1
<ole>

Du kan bruge square brackets i dine checkbox'es navne:
    <input type="checkbox" name="gnu[]" value="1">
    <input type="checkbox" name="gnu[]" value="2">
    <input type="checkbox" name="gnu[]" value="3">
    <input type="checkbox" name="gnu[]" value="4">

Så har du på serveren et array af checkede checkbox'e i $_GET["gnu"]. Easy as that!  ;o)

/mvh
</bole>
Avatar billede dinno Nybegynder
24. september 2008 - 16:43 #2
hej olebole det ovenstående eksempel kunne godt bruges hvis det var et fast antal chekboxes men antalet varierer alt efter hvormange billeder der er i den pågældende kategori koden ser sådan her ud

<?php
            $tal=1;
            while($row_rsSideindhold=mysql_fetch_array($res)){
           
            if($tal%3==0){
              ?>
                  <td valign="top">
                    <div align="center">
                    <?php
            if ($row_rsSideindhold['billede']) {
            echo '<a href="billeder/'.$row_rsSideindhold['billede'].'"  class="highslide" onclick="return hs.expand(this)"><img height="144" width="144" style="border: 1px;" src="billeder/'.$row_rsSideindhold['billede'].'">';} ?>
                    <br />
                    <span class="style9"><span class="style15">
                    <?=$row_rsSideindhold['billede'];?>
                    </span></span></div>
                    <label></label>
                  </td>
                  <td valign="middle">
                    <div align="left">Vælg billede<br />
                      <input type="checkbox" name="<?=$tal?>" value='<?=$row_rsSideindhold['billede'];?>' id="checkbox" />
                    </div>
                    <p class="style9">&nbsp;</p>
                    <p class="style9">&nbsp;</p>
                    <p class="style9">&nbsp; </p>
                  </td>
                  </tr>
                  <tr>
                  <?php
                } else {
                ?>
                  <td valign="top">
                    <div align="center">
                    <?php
            if ($row_rsSideindhold['billede']) {
            echo '<a href="billeder/'.$row_rsSideindhold['billede'].'"  class="highslide" onclick="return hs.expand(this)"><img height="144" width="144" style="border: 1px;" src="billeder/'.$row_rsSideindhold['billede'].'">';} ?>
                    <span class="style9"><span class="style15"> <br />
                    <?=$row_rsSideindhold['billede'];?>
                    </span></span></div>
                    <label></label>
                  </td>
                  <td valign="middle">
                    <div align="left"> Vælg billede<br />
                      <input type="checkbox" name="<?=$tal?>" value='<?=$row_rsSideindhold['billede'];?>' id="checkbox2" />
                    </div>
                    <p class="style9">&nbsp;</p>
                    <p class="style9">&nbsp;</p>
                  </td>
                  <?php
                }
                $tal++;
                }
                ?>

Hvis jeg ændre på

<input type="checkbox" name="<?=$tal?>" value='<?=$row_rsSideindhold['billede'];?>' id="checkbox" />
Avatar billede dinno Nybegynder
24. september 2008 - 16:48 #3
jeg skal vel på den ene eller anden måde integrerer $tal til godkendelses siden. men der vises ingen ting hvis jeg bruger $checkbox = $_GET['$tal'];
Avatar billede dinno Nybegynder
24. september 2008 - 16:53 #4
det ovenstående eksempel gør at der vises 3 billeder med checksboxe lodret x antal rækker alt efter hvormange billeder der er i kategorien
Avatar billede dinno Nybegynder
24. september 2008 - 16:56 #5
prøv linket her http://hhfoto.dk/gallery2.php?id=553&mainid=7  dette er en testside så der bestilles ikke noget ved at teste det
Avatar billede olebole Juniormester
24. september 2008 - 17:31 #6
Begynd med at broge method="post" i din form. Så skal du naturligvis ikke kikke efter variabler i $_GET, men i $_POST.

I value-attributten på hver checkbox skal du skrive billednavnet på det pågældende billede. Navnet skal f.eks. være name="bestilt[]".
    <input type="checkbox" name="bestilt[]" value='<?=$row_rsSideindhold['billede'];?>

Så vil $_POST["bestilt"] indeholde et array af bestilte billednavne.

Jeg ville måske nok i stedet skrive database-ID'et - og så på serveren finde billednavnet/stien udfra det ... men det er en smagssag  =)
Avatar billede olebole Juniormester
24. september 2008 - 17:33 #7
Ups, elementet blev ikke helt færdigt:
    <input type="checkbox" name="bestilt[]" value='<?=$row_rsSideindhold['billede'];?>' id="checkbox2" />
Avatar billede dinno Nybegynder
24. september 2008 - 17:53 #8
kanon detkøre takker send lige et svar
Avatar billede dinno Nybegynder
24. september 2008 - 18:13 #9
øhh lige en sidste ting... nu undlader den konsekvenst at tage det laveste nummer med over i godkend bestilling.. har du en id til hvorfor den gør det lige pludselig
Avatar billede dinno Nybegynder
24. september 2008 - 18:27 #10
okay problemet er løst smil sender du et svar
Avatar billede olebole Juniormester
24. september 2008 - 20:52 #11
*griiiiiiiiiiiiiiib*  ;o)
Avatar billede dinno Nybegynder
24. september 2008 - 20:55 #12
hey er du der endnu
Avatar billede olebole Juniormester
24. september 2008 - 21:00 #13
Tak for points - og ja, jeg er her stadig. Du kan bare spørge videre, hvis det er det, du mener  =)

Forresten: I stedet for at få et array som:
array(
    "billede_A.jpg",
    "billede_B.jpg",
    "billede_C.jpg",
    "billede_D.jpg"
)

- kan du skrive:
    <input type="checkbox" name="bestilt['pic_<?=$tal?>']" value='<?=$row_rsSideindhold['billede'];?>' id="checkbox2" />

- hvis du altså har en PHP-variabel, som hedder $tal - og som bliver talt op for hvert gennemløb af while-løkken. Så får du et array, der f.eks. ser sådan ud:
array(
    "pic_1" => "billede_A.jpg",
    "pic_6" => "billede_B.jpg",
    "pic_8" => "billede_C.jpg",
    "pic_14" => "billede_D.jpg"
)

Bare for at vise, at du også kan skrive noget mellem de firkantede paranteser - og bruge det på serveren  ;o)
Avatar billede dinno Nybegynder
24. september 2008 - 21:11 #14
okay jeg takker... jeg er ved stille et nyt spørgsmål ang. hvordan oplysningerne som havner på godkendelses siden vidersendes via email eller formmail håbede at du ville kigge på dette spørgsmål også da du jo har indsigt i det i forvejen smil smil
Avatar billede dinno Nybegynder
24. september 2008 - 21:14 #15
jeg opretter et nyt spørgsmål for at du evt kunne få point for dette også
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
Kurser inden for grundlæggende programmering

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