Avatar billede torstein Novice
25. november 2004 - 10:18 Der er 14 kommentarer og
1 løsning

Vis textfelt i den rigtige <td>

Flg. script lister en uge, hvorefter der skal vælges en bestemt dag til input, men inputtet åbnes altid i mandagens felt. kan det ændres.

<?
error_reporting( E_ALL );
?>
<form action="<? echo $PHP_SELF;?>" enctype="multipart/form-data" method="post">
<table border="1" cellspacing="0" cellpadding="2">
<tr>
<?
if (empty($year))
  $year = date("");
  $week = date('W');

  for ($i=0;$i<7; $i++) {
      $aDay = date("w", mktime(0, 0, 0, 1  , 1+$i, $year));
      if ($aDay == 1) {
        for( $x=$i; $x<$i+7; $x++ ) {
            $aDayWeekNo = date("W", mktime(0, 0, 0, 1  , 1+$x, $year));
            $day = date("d-m-y", mktime(0, 0, 0, 1  , (1+$x)+(7*($week-$aDayWeekNo)), $year));
            $day2 = date("l",mktime(0, 0, 0, 1  , (1+$x)+(7*($week-$aDayWeekNo)), $year));?>
<td align=center>
<input type='radio' name='radio' onClick="document.getElementById('skjul').style.display='none';" checked>slet -
<input type='radio' name='radio' onClick="document.getElementById('skjul').style.display='block';">vælg
<?=$day2;?> <br>[<?=$day;?>]<br><div style="display:none" id='skjul'>
<input type='text' name='tid'> <br>
<input type='text' name='txt'> <br>
</div></td>
      <? }
        break;
      }
  }
?>
</tr></table><input type="submit" value="SEND"></form>
Avatar billede torstein Novice
25. november 2004 - 10:19 #1
Avatar billede schaefner Juniormester
25. november 2004 - 10:27 #2
Skal den starte med Lørdag? I dettde tilfælde da den 27-11 er lørdag (året paser dog ikke helt)
Avatar billede torstein Novice
25. november 2004 - 10:33 #3
$year = date("Y"); skal der vel stå så det passer...
Avatar billede schaefner Juniormester
25. november 2004 - 10:37 #4
Ja, men er det andet jeg har skrevet rigtig forstået?
Avatar billede torstein Novice
25. november 2004 - 12:06 #5
Nope, den starter med mandag, det er rettet til på siden.
Avatar billede schaefner Juniormester
25. november 2004 - 12:26 #6
Hvad er det helt præcist problemet er? Må erkende at jeg ikke helt med :)
Avatar billede torstein Novice
25. november 2004 - 12:44 #7
Hvis du klikker på ex. vælg om torsdagen, så åbnes textboxen under mandag og ikke om torsdagen.
Avatar billede schaefner Juniormester
25. november 2004 - 13:48 #8
Ahh, på den måde. Prøv:

<?php
error_reporting( E_ALL );
?>
<form action="<?php print $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<table border="1" cellspacing="0" cellpadding="2">
<tr>
<?php
if (empty($year))
  $year = date("");
  $week = date('W');

  for ($i=0;$i<7; $i++) {
      $aDay = date("w", mktime(0, 0, 0, 1  , 1+$i, $year));
      if ($aDay == 1) {
        for( $x=$i; $x<$i+7; $x++ ) {
            $aDayWeekNo = date("W", mktime(0, 0, 0, 1  , 1+$x, $year));
            $day = date("d-m-y", mktime(0, 0, 0, 1  , (1+$x)+(7*($week-$aDayWeekNo)), $year));
            $day2 = date("l",mktime(0, 0, 0, 1  , (1+$x)+(7*($week-$aDayWeekNo)), $year));
?>
<td align=center>
<input type='radio' name='radio' onClick="document.getElementById('skjul_<?php print $i ?>').style.display='none';" checked>slet -
<input type='radio' name='radio' onClick="document.getElementById('skjul_<?php print $i ?>').style.display='block';">vælg
<?php print $day2; ?> <br>[<?php print $day; ?>]<br><div style="display:none" id='skjul_<?php print $i; ?>'>
<input type='text' name='tid'> <br>
<input type='text' name='txt'> <br>
</div></td>
      <? }
        break;
      }
  }
?>
</tr></table><input type="submit" value="SEND"></form>
Avatar billede torstein Novice
25. november 2004 - 13:59 #9
Ved vis kilde, hedder de alle skjul_2
Avatar billede torstein Novice
25. november 2004 - 14:02 #10
Men med $x i setdet virker det. Perfekt.

jeg kommer nok tilbage i et nyt spg. når jeg kommer lidt længere.

tak - og svar venligst.
Avatar billede schaefner Juniormester
25. november 2004 - 14:03 #11
nå, ja. Jeg brugte den forkete variabel :)
Avatar billede torstein Novice
25. november 2004 - 14:36 #12
Nu er jeg lidt videre, men når jeg klikker på Send, vil den kun overføre variablerne fra om søndagen??

Hvos og hvorledes skal [$x] sættes ind??


<?php
error_reporting( E_ALL );
if(isset($_POST['send'])){
echo $_POST['tid'].$_POST['txt'];
print $_POST['day'];
print $_POST['day2'];
echo "Post";
}
?>
<form action="<?php print $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<table border="1" cellspacing="0" cellpadding="2">
<tr>
<?php
if (empty($year))
  $year = date("y");
  $week = date('W');

  for ($i=0;$i<7; $i++) {
      $aDay = date("w", mktime(0, 0, 0, 1  , 1+$i, $year));
      if ($aDay == 1) {
        for( $x=$i; $x<$i+7; $x++ ) {
            $aDayWeekNo = date("W", mktime(0, 0, 0, 1  , 1+$x, $year));
            $day = date("d-m-y", mktime(0, 0, 0, 1  , (1+$x)+(7*($week-$aDayWeekNo)), $year));
            $day2 = date("l",mktime(0, 0, 0, 1  , (1+$x)+(7*($week-$aDayWeekNo)), $year));
?>
<td align=center>
<input type='radio' name='radio' onClick="document.getElementById('skjul_<?php print $x ?>').style.display='none';" checked>slet -
<input type='radio' name='radio' onClick="document.getElementById('skjul_<?php print $x ?>').style.display='block';">vælg
<?php print $day2; ?> <br>[<?php print $day; ?>]<br><div style="display:none" id='skjul_<?php print $x; ?>'>
<select name="tid">
    <option value="" SELECTED>Vælg tidspunkt</option>
    <option value="1516">15-16</option>
    <option value="1617">16-17</option>
    <option value="1718">17-18</option>
    <option value="1819">18-19</option>
    <option value="1920">19-20</option>
</select> <br>
<input type='text' name='txt' value="Indhold"> <br>
<input type="hidden" name="day" value="<?=$day;?>">
<input type="hidden" name="day2" value="<?=$day2;?>">
</div></td>
      <? }
        break;
      }}
?>
</tr></table><input type="submit" name="send" value="SEND"></form>

<a href=uge.php?send=>IGEN</a>
Avatar billede schaefner Juniormester
25. november 2004 - 14:38 #13
Det er fordi dine input-felter hedder det samme, så det er den sidste der bestemmer i og med at den "overskriver" de foregående.
Avatar billede torstein Novice
25. november 2004 - 14:42 #14
<input type='text' name='txt[<?=$x;?>]' value="Indhold"> <br>
<input type="hidden" name="day[<?=$x;?>]" value="<?=$day;?>">
<input type="hidden" name="day2[<?=$x;?>]" value="<?=$day2;?>">

Sådan, eller?
Avatar billede torstein Novice
25. november 2004 - 21:30 #15
OK, den fik jeg klaret sådan her:

for($ii=0; $ii < count($_POST['day']); $ii++) {
    if ($_POST['day'][$ii] != "") {
        $tmp_day = $_POST['day'][$ii];
        $tmp_tid = $_POST['tid'][$ii];
        $tmp_txt = $_POST['txt'][$ii];
        if ($tmp_tid){
print $tmp_day.$tmp_tid.$tmp_txt."<br>";}
    }
}
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