Avatar billede lsskaarup Nybegynder
13. oktober 2010 - 12:03 Der er 12 kommentarer og
1 løsning

Ved submit spring til samme menupunkt

Jeg ved ikke lige om, det er et php, html eller javascript sprøgsmål, men jeg tænkte det nok hørte mest hjemme her.

Jeg har en side, der består af en masse punktopstillinger (<ul> og <li>). Disse punkter laves dynamisk ud fra oplysninger i database. I hvert nederste niveau i punkterne er der så textfelter, som brugerne kan indtaste data i og få gemt i databasen.

Det fungere alt sammen meget fint, men brugerne vil gerne have at lave punkterne er lukkede når siden læses ind, men samtidig vil de have at når de gemmer, at siden springer til samme punkt, som de gemte ved.

Der siges jo at et billede siger mere end 1000 ord, så her kan I se opbygningen af strukturen: http://www.billedeupload.dk/photo/2010-09/9f9fb2ff/overskrifter.jpg.html

Hvordan kan jeg få den til automatisk at springe til f.eks. punktet under "225 - Internt køb - DS", så denne er udfoldet og klar til næste indtastning?
Avatar billede w13 Novice
13. oktober 2010 - 18:06 #1
Med bogmærker, måske? :) Men det er svært at sige uden at kende din kode.
Avatar billede lsskaarup Nybegynder
13. oktober 2010 - 19:01 #2
Jeg kan lige smide en stump af min kode op i morgen, men der er nok ikke så nem lige at få et overblik over.
Avatar billede lsskaarup Nybegynder
14. oktober 2010 - 10:24 #3
En del af koden ser sådanne ud, der er mere, men det er stort set samme kode, idet der kun er forskel på hvilken type (salgs- /kostpriser) der hentes fra DB'en.

<?php
$queryt = "SELECT k.id AS id, k.ordre_id, k.underakt AS underakt, k.navn AS navn, k.beskrivelse AS beskrivelse FROM kalkulation AS k WHERE k.ordre_id = '".addslashes($_GET['id'])."' AND type = 1";
$salgs_tæller = 0;
?>

<!-- Salgspriser -->

<ul>
      <ul>
        <ul>
              <img src="/gfx/transparent.gif" style="width:100px;height:5px;" />
              <input type="text" class="listformsmally" name="betegnelser[]" readonly value="I alt salgspris:" style="font-weight:bold"/>
            <?php
            if (count($total_salgspris) > 0) {
                for ($q=0;$q<count($total_salgspris);$q++) {?><b>Kr.</b>
                    <input type="text" class="listformsmallz" name="betegnelser[]" readonly value="<?php echo number_format($total_salgspris[$q], 0, ',', '.');?>" style="font-weight:bold;text-align:right;"/>
                <?php }
            }?>
        </ul>
    </ul>
</ul>



<ul>
<?php
    for ($w=1;$w<=count($SALGSPRIS);$w++) {
        $salgspris_navn = $SALGSPRIS[$w];?>
        <li>
            <a href="#" onclick="showhide('id_<?php echo $salgspris_navn;?>');" style="width:288px;">
                <?php echo $salgspris_navn;?>
            </a>
           
            <!--Total salgspris-->
            <?php
            for ($d=1;$d<=$antal_kol;$d++) {
              $total_kostpris = "SELECT SUM(kostpris) AS total FROM kalkulation AS k
                                    LEFT JOIN kalkulationspriser AS kp ON k.id=kp.kalkulations_id
                                    LEFT JOIN kalkulationskolonner AS kk  ON kp.id = kk.kostpris_id
                                    WHERE kolonnenr = '".$d."' AND ordre_id = '".addslashes($_GET['id'])."' AND underakt = '".$salgspris_navn."' AND type = 1";
                $total_kost = mysql_query($total_kostpris) or die(mysql_error);
                $total = mysql_fetch_array($total_kost);
                if (empty($total['total'])) {
                    $total['total']="0";
                }
                ?>
                <b>Kr.</b>
                <input type="text" class="listformsmallz" name="total[]" readonly value="<?php echo number_format($total['total'], 0, ',', '.'); ?>" style="font-weight:bold;text-align:right;"/>
            <?php } ?>
           
            <div id="id_<?php echo $salgspris_navn;?>" style="display:none;">
                <ul>
                <?php
                    $sqlt = mysql_query($queryt) or die(mysql_error);
                    if (!mysql_num_rows($sqlt) || !isset($sqlt)) {
                        $salgs_tæller++;?>
                        <ul>
                            <!-- Inputfelter til de underakt, der endnu ikke indeholder data-->
                            <input type="hidden" name="salgs_kalk_id[]" value=""/>
                              <input type="hidden" name="salgs_underakt[]" value="<?php echo $salgspris_navn;?>"/>
                            <input type="text" class="inputextrasmall" name="salgs_navn[]">
                            <input type="text" class="inputextrasmall" name="salgs_beskrivelse[]"/>
                        </ul>
                    <? } else {
                        while ($foot = mysql_fetch_array($sqlt)) {
                            if ($salgspris_navn == $foot['underakt']) {
                                ?>
                                <?php
                                $salgs_tæller++;?>
                                <ul>
                                    <!-- Inputfelter til de underakt, der indeholder data-->
                                    <input type="hidden" name="salgs_underakt[]" value="<?php echo $salgspris_navn;?>"/>
                                    <input type="hidden" name="salgs_kalk_id[]" value="<?php echo $foot['id']; ?>" />
                                    <input type="text" class="inputextrasmall" name="salgs_navn[]" value="<?php echo $foot['navn']; ?>">
                                    <input type="text" class="inputextrasmall" name="salgs_beskrivelse[]" value="<?php echo $foot['beskrivelse']; ?>"/>
                                    <?php // Her skal der returneres et antal kolonne, som passer til de låste + 1 for sagen
                                    $maxkol = "SELECT MAX(kolonnenr) AS max_kol FROM kalkulation AS k LEFT JOIN kalkulationspriser AS kp ON kp.kalkulations_id = k.id LEFT JOIN kalkulationskolonner AS kk ON kp.id = kk.kostpris_id WHERE k.ordre_id = '".addslashes($_GET['id'])."' AND k.id = '".$foot['id']."' AND type = 1 GROUP BY ordre_id";
                                    $m_kol = mysql_query($maxkol) or die(mysql_error);
                                    $m_k = mysql_fetch_array($m_kol);

                                    $forespøgz = "SELECT *, kp.låst AS kp_låst, k.id AS id, kp.id AS kp_id FROM kalkulation AS k
                                                LEFT JOIN kalkulationspriser AS kp ON kp.kalkulations_id = k.id
                                                LEFT JOIN kalkulationskolonner AS kk ON kp.id = kk.kostpris_id
                                                WHERE k.ordre_id = '".addslashes($_GET['id'])."' AND k.id = '".$foot['id']."' AND type = 1";
                                           
                                    $forez = mysql_query($forespøgz) or die(mysql_error);
                                    $counterz=1;
                                    $arz = mysql_num_rows($forez);
                                    while ($foresz = mysql_fetch_array($forez)) {
                                        if ($foresz['kolonnenr'] == 0) {// || !isset($foresz['kolonnenr'])){
                                            $foresz['kolonnenr'] = 1;
                                        }
                                        if ($foresz['kp_id'] == 0 ) {//|| !isset($foresz['kp_id'])){
                                            $foresz['kp_id'] = 0;
                                        }
                                        ?>
                                        Kr.
                                        <input type="text" name="salgs_kostpris[<?php echo $foresz['id'];?>][<?php echo $foresz['kolonnenr'];?>][<?php echo $foresz['kp_id'];?>]" value="<?php echo number_format($foresz['kostpris'], 0, ',', '.'); ?>" <?php if ($foresz['kp_låst'] != "1") { echo "class='inputextrasmallx'"; } else { echo "class='listformsmallz' readonly";}?> style="text-align:right;"/>
<!--            name="kostpris[<?php echo $fores['id'];?>][<?php echo $fores['kolonnenr'];?>][<?php echo $fores['kp_id'];?>]"-->
                                      <?php
                                        if ($counterz == $arz && $foresz['låst'] == "1") {
                                            //Skal kun udføres efter sidste celle/kolonne, hvis denne er låst?>
                                            Kr.
                                            <input type="text" class="inputextrasmall" style="text-align:right;" name="salgs_kostpris[<?php echo $foresz['id'];?>][<?php echo $foresz['kolonnenr']+1;?>][]">
                                        <?php }
                                        $counterz+=1;
                                    }?>
                                </ul>
                            <?php }
                        }
                        $salgs_tæller++;?>
                        <ul>
                            <!-- Inputfelter til de underakt, der indeholder data-->
                            <input type="hidden" name="salgs_kalk_id[]" value=""/>
                            <input type="hidden" name="salgs_underakt[]" value="<?php echo $salgspris_navn;?>"/>
                            <input type="text" class="inputextrasmall" name="salgs_navn[]">
                            <input type="text" class="inputextrasmall" name="salgs_beskrivelse[]"/>
                        </ul>
                        <ul>
                            <input type="submit" name="gem" class="submit" value="Gem" style="position: absolute; left: -200px; top: -200px;" />
                            <input name="laas" type="submit" value="Lås forkalkulation" class="submit" style="width:125px;"/>
                        </ul>
                    <?php }?>
                </ul>
            </div>
        </li>
    <?php }?>
</ul>



<input type="submit" name="gem" class="submit" value="Gem" style="position: absolute; left: -200px; top: -200px;" />

Som sagt vil jeg gerne have at man kan springe til den <ul>, som jeg stod i, når man gemmer.
Avatar billede w13 Novice
14. oktober 2010 - 12:16 #4
Hvordan gemmer man lige nu, når man har indtastet noget?
Avatar billede lsskaarup Nybegynder
14. oktober 2010 - 13:45 #5
Det gør man ved at trykke på enter. Der ligger en "skjult" submit knap der gemmer, ved at sende til en process side.

Derudover kan man også gemme, ved at klikke på menu der navigere imellem siderne, den kan dog ikke ses her. Menuen ligger i en hovedside, der indeholder fælles ting for alle undersiderne. Hovedsiden indlejer så undersiderne, alt efter hvilken menuknap brugerne har trykket på.
Avatar billede w13 Novice
14. oktober 2010 - 14:00 #6
Men lige nu kan jeg ikke se et form-element. Hvordan ser det ud?
Avatar billede lsskaarup Nybegynder
14. oktober 2010 - 14:28 #7
Nej, som sagt saksede jeg kun en del af koden. Men form elementer ser sådan ud:

<form action="/entreprise_ordre_process.php" method="post" name="ds" id="ds" style="display:inline;" autocomplete="off">
Avatar billede w13 Novice
14. oktober 2010 - 17:59 #8
Har du så ét form-element rundt om alle felterne?
Avatar billede lsskaarup Nybegynder
14. oktober 2010 - 22:32 #9
Ja, jeg har ét og kun ét rundt om alle felterne. Hvis det hjælper kan jeg da godt smide hele koden op i morgen?
Avatar billede lsskaarup Nybegynder
15. oktober 2010 - 08:24 #10
Hele siden ser ud som følger:

<?php
  include('system/date.php');
  include('static/ordre12.php');
  include('static/opsaetning.php');

//Find Revision 0 af ordren, da den har tilknyttet alle aftaler.
$query = "SELECT id, ordre, rev FROM ordre WHERE ordre in (SELECT ordre FROM ordre WHERE id = '".$_GET['id']."') ORDER BY rev asc LIMIT 0,1";
$resq = mysql_query($query) or die($query);
$res = mysql_fetch_assoc($resq);
?>
<!--
<form name="ds" id="ds" action="/entreprise_aftaler_process.php" method="post" style="display:inline;" autocomplete="off">
-->
<form action="/entreprise_aftaler_process.php" method="post" name="ds" id="ds" style="display:inline;" autocomplete="off">
<input type="hidden" name="nextpage" value="15">
<input type="hidden" name="thispage" value="14">
<input type="hidden" name="ordreid" value="<?php echo $_GET['id']; ?>">
<input type="hidden" name="aftale_ordreid" value="<?php echo $res['id']; ?>">

<?php
    /*
    Finder login id for brugeren,
    finder derefter ud af hvilken afdeling de hører til,
    for til sidst at hente deres initialer
    */

    list($comp, $personid) = explode('x', $_COOKIE["PBS"]);
    if (!$res['r1']) $res['r1'] = $personid;
    $select = '';

    while (list ($key, $val) = each ($PROJECTMANAGER)) {
        if ($key == $res['r1']) {
            $select = substr($val['navn'], -4, 3);
        }
    }

    while (list ($key, $val) = each ($STATIKER)) {
        if ($key == $res['r1']) {
            $select = substr($val['navn'], -4, 3);
        }
    }

    while (list ($key, $val) = each ($TEGNER)) {
        if ($key == $res['r1']) {
            $select = substr($val['navn'], -4, 3);
        }
    }

;
?>

<table border="0" width="100%">
    <tr>
        <td>Dato</td>
        <td>Aftaler</td>
        <td>Udfyldt af</td>
        <td>Aftalt med</td>
<!--    <td>Akt.-kode</td>
        <td>Faktureres internt</td>
        <td>Faktureres kunde</td>-->
    </tr>
    <tr valign="top">
        <td><input readonly class="listform" type="text" name="dato" value="" style="width:70px;" /></td>
        <td>
            <textarea class="listformwidez" name="aftale" value="" cols="71" rows="5"></textarea>
<!--        <input class="listform" type="text" name="aftale" value="" style="width:310px;" />
-->
        </td>
        <td><input class="listform" type="text" name="aftale_af" value="<?php echo $select;?>" style="width:50px;" /></td>
        <td><input class="listform" type="text" name="aftale_med" value="" style="width:50px;" /></td>
<!--        <td><select class="listform" name="aktkode" style="width:125px;">
            <option></option>
            <?php
            while (list($key, $val) = each($AKTKODE)) {
                echo "<option value=\"$key\">$key $val</option>";
            }?>
        </select></td>
        <td><input class="listform" type="text" name="fak_internt" value ="" style="width:50px;" /></td>
        <td><input class="listform" type="text" name="fak_kunde" value ="" style="width:50px;" /></td>
        -->
    </tr>
    <tr>
        <td colspan="6">
            <input class="listform" type="submit" id="aft" name="submit2" value="Tilføj" style="width:50px;font-weight:bold;" />
            <input class="listform" type="button" name="udskriv" value="Udskriv" OnClick="launchUdskrift();" style="width:50px;font-weight:bold;" />
        </td>
    </tr>
    <tr>
        <td></td>
    </tr>
    <tr>
        <td colspan="7"><hr /></td>
    </tr>   
    <tr>
        <td colspan="7" align="center"><b>Aftaler lavet på ordren</b></td>
    </tr>

<?php
//Aftaler der er lavet på ordre-delen

    $sql = "SELECT dato, aftale, aftale_af, aftale_med FROM aftaler WHERE ordreid = '".$res['id']."' ORDER BY dato DESC, id DESC";
    $res = mysql_query($sql) or die($sql);
    while ($row = mysql_fetch_assoc($res)) {
        echo "<tr>";
        echo "<td valign=\"top\">".sqltoalmdate($row['dato'])."</td>";
        echo "<td valign=\"top\">".$row['aftale']."</td>";
        echo "<td valign=\"top\">".$row['aftale_af']."</td>";
        echo "<td valign=\"top\">".$row['aftale_med']."</td>";
/*        echo "<td valign=\"top\">".($row['aktkode'] != 0 ? $row['aktkode'] : '')."</td>";
        echo "<td valign=\"top\" style=\"text-align:right\">".($row['fak_internt'] != 0 ? number_format($row['fak_internt'],2,',','.') : '')."</td>";
        echo "<td valign=\"top\" style=\"text-align:right\">".($row['fak_kunde'] != 0 ? number_format($row['fak_kunde'],2,',','.') : '')."</td>";
        */
        echo "</tr>\n";
      }?>

      <tr>
        <td colspan="7"><hr /></td>
    </tr>
    <tr>
        <td colspan="7" align="center"><b>Aftaler lavet på tilbuddet</b></td>
    </tr>
   
    <?php
    //Aftaler der er lavet på tilbuds-delen
    $tilbudsquery = "SELECT tilbud, rev, ordre, id FROM tilbud WHERE ordre=$nr";
    $tilbud_res = mysql_query($tilbudsquery) or die($tilbudsquery);
    $tilbud_row = mysql_fetch_array($tilbud_res);

    $sql_tilbud = "SELECT dato, aftale, aftale_af, aftale_med FROM aftaler WHERE tilbudid = '".$tilbud_row['id']."' ORDER BY dato DESC, id DESC";
    $res_tilbud = mysql_query($sql_tilbud) or die($sql_tilbud);
    while ($row_tilbud = mysql_fetch_assoc($res_tilbud)) {
        echo "<tr>";
        echo "<td valign=\"top\">".sqltoalmdate($row_tilbud['dato'])."</td>";
        echo "<td valign=\"top\">".$row_tilbud['aftale']."</td>";
        echo "<td valign=\"top\">".$row_tilbud['aftale_af']."</td>";
        echo "<td valign=\"top\">".$row_tilbud['aftale_med']."</td>";
/*        echo "<td valign=\"top\">".($row_tilbud['aktkode'] != 0 ? $row_tilbud['aktkode'] : '')."</td>";
        echo "<td valign=\"top\" style=\"text-align:right\">".($row_tilbud['fak_internt'] != 0 ? number_format($row_tilbud['fak_internt'],2,',','.') : '')."</td>";
        echo "<td valign=\"top\" style=\"text-align:right\">".($row_tilbud['fak_kunde'] != 0 ? number_format($row_tilbud['fak_kunde'],2,',','.') : '')."</td>";
        */
        echo "</tr>\n";
      }   
    ?>
    <tr>
        <td><br /></td>
    </tr>
</table>
</form>
<script>
  var date = new Date();
  ds.dato.value = date.getDate() + '-' + (date.getMonth()+1) + '-' + date.getFullYear();

  function launchUdskrift() {
    window.open('/entreprise_ordre12_udskriv_process.php?id=<?php echo $_GET['id']; ?>&ordrenr=<?php echo $nr; ?>', '', '');
  }
</script>


Den bliver som sagt, indlæst i en anden side via include

('content/pop'.$page.'.php'); ?>
Avatar billede lsskaarup Nybegynder
15. oktober 2010 - 08:48 #11
Flot det var så den forkert kode, jeg fik smidt op... doh

Så vi prøver igen.
<?php

    include('static/afsnit6.php');
//    include('static/ordre11.php');
    include('system/date.php');
    include("system/dhtmlgoodies_tree.class.php");
    include('static/opsaetning.php');

    /* Fetch database values */
    $res = array();
    for ($i=0;$i<=5;$i++) {
        $sql = mysql_query("
            SELECT *
            FROM ordre".$i."
            WHERE tilbudsnummer='".addslashes($_GET['id'])."'
        ") or die(mysql_error);

        if (mysql_num_rows($sql)) $res = array_merge($res, mysql_fetch_assoc($sql));
    }


    list($comp, $personid) = explode('x', $_COOKIE["PBS"]);
    $select = '';   
    if ($personid == "99998") $select = "ADM";   
    while (list ($key, $val) = each ($ALLEPROJEKTLEDERE)) {
        if ($key == $personid) {
            $select = substr($val['navn'], -4, 3);
        }
    }

    $i = 0;
    if ($handle = opendir('template')) {
      while (false !== ($file = readdir($handle))) {
          if ($file != "." && $file != "..") {
                if (strpos($file, 'template_ordre') !== false) {
            $skabelon[$i] = substr(basename($file, '.rtf'), 15);
            $i++;
          }
            }
      }   
    }
      closedir($handle);

    $person = mysql_query("SELECT email FROM stamdata WHERE employee ='".$res['r1']."'");
    $resu = mysql_fetch_array($person);

?>

<form action="/entreprise_ordre_process.php" method="post" name="ds" id="ds" style="display:inline;" autocomplete="off">
<?php //if ($res['r534'] == 1) echo '<input type="hidden" name="readonly" value="1">'; ?>
<input type="hidden" name="nextpage" value="13">
<input type="hidden" name="thispage" value="12">
<input type="hidden" name="eid" value="<?php echo $_GET['id']; ?>">
<input type="hidden" name="bygherre_hidden" value="<?php echo $res['bygherre_hidden']; ?>">
<input type="hidden" name="låser" value="<?php echo $personid;?>"/>
<input type="hidden" name="låser_ini" value="<?php echo $select;?>"/>
<table width="1080px" border="0" cellspacing="0" cellpadding="0" align="right">
<br />
<input type="submit" name="gem" class="submit" value="Gem" style="position: absolute; left: -200px; top: -200px;"/>

<?php
//Vi skal lige have fundet ud af hvor mange kolonner der er
        $mig = "SELECT MAX(kolonnenr) AS kol FROM kalkulation AS k LEFT JOIN kalkulationspriser AS kp ON k.id = kp.kalkulations_id LEFT JOIN kalkulationskolonner AS kk ON kp.id = kk.kostpris_id WHERE ordre_id = ".addslashes($_GET['id'])." GROUP BY ordre_id";
        $migg = mysql_query($mig) or die(mysql_error());
        $miggi = mysql_fetch_array($migg);
        $antal_kol = $miggi['kol'];
?>
<ul>
    <ul>
        <ul>
            <input type="text" class="listformsmallx" name="betegnelser[]" readonly value="Navn" />
            <input type="text" class="listformsmallx" name="betegnelser[]" readonly value="Beskrivelse" />
            <?php
           
            for ($y=1;$y<=$antal_kol;$y++) {
            ?>
                <input type="textarea" class="listformsmallx" name="betegnelser[]" readonly value="Forkalkulation <?php echo $y;?>" />
            <?php }
            ?>
        </ul>
        <ul>
            <img src="/gfx/transparent.gif" style="width:100px;height:5px;" />
            <img src="/gfx/transparent.gif" style="width:100px;height:5px;" />
            <?php
            $total_kostpris = array();
            for ($z=1;$z<=$antal_kol;$z++) {
                //Kostpris
                $låst_dato = "SELECT låst_af, DATE_FORMAT(dato, '%Y-%m-%d') AS dato, SUM(kostpris) AS kostpris FROM kalkulation AS k
                                LEFT JOIN kalkulationspriser AS kp ON k.id=kp.kalkulations_id
                                LEFT JOIN kalkulationskolonner AS kk ON kp.id = kk.kostpris_id
                                WHERE kolonnenr = '".$z."' AND ordre_id = ".addslashes($_GET['id'])." AND type = 0 GROUP BY ordre_id LIMIT 1";
                $lås_dato = mysql_query($låst_dato) or die(mysql_error);
                $dato = mysql_fetch_array($lås_dato);
                $total_kostpris[] = $dato['kostpris'];
               
                //Salgspris
                $låst_datos = "SELECT SUM(kostpris) AS salgspris FROM kalkulation AS k
                                LEFT JOIN kalkulationspriser AS kp ON k.id=kp.kalkulations_id
                                LEFT JOIN kalkulationskolonner AS kk ON kp.id = kk.kostpris_id
                                WHERE kolonnenr = '".$z."' AND ordre_id = ".addslashes($_GET['id'])." AND type = 1 GROUP BY ordre_id LIMIT 1";
                $lås_datos = mysql_query($låst_datos) or die(mysql_error);
                $datos = mysql_fetch_array($lås_datos);
                $total_salgspris[] = $datos['salgspris'];
//echo $dato['låst_af']
            ?>
            <input type="text" class="listformsmally" name="betegnelser[]" readonly value="Låst: <?php echo sqltoalmdatetom($dato['dato']).' ('. $dato['låst_af'].')';?>" />
            <?php }?>
        </ul>
    </ul>
</ul>

<!-- Dækningsbidrag og grad -->
<ul>
    <ul>
        <ul>
            <img src="/gfx/transparent.gif" style="width:100px;height:5px;" />
              <input type="text" class="listformsmally" name="betegnelser[]" readonly value="Dækningsbidrag:" style="font-weight:bold"/>
            <?php if (count($total_salgspris) > 0 && count($total_kostpris) > 0) {
                for ($b=0;$b<count($total_salgspris);$b++) {?><b>Kr.</b>
                  <input type="text" class="listformsmallz" name="betegnelser[]" readonly value="<?php echo number_format($total_salgspris[$b] - $total_kostpris[$b], 0, ',', '.');?>" style="font-weight:bold;text-align:right;"/>
                <?php }
            }?>
        </ul>
        <ul>
            <img src="/gfx/transparent.gif" style="width:100px;height:5px;" />
              <input type="text" class="listformsmally" name="betegnelser[]" readonly value="Dækningsgrad:" style="font-weight:bold"/>
            <?php if (count($total_salgspris) > 0 && count($total_kostpris) > 0) {
                for ($b=0;$b<count($total_salgspris);$b++) {
                    if ($total_salgspris[$b] != 0) {?>
                        <input type="text" class="listformsmallx" name="betegnelser[]" readonly value="<?php echo number_format(round( ($total_salgspris[$b] - $total_kostpris[$b])/$total_salgspris[$b]*100, 2 ), 2, ',', '.');?>" style="font-weight:bold;text-align:right;"/>
                    <?php } else { ?>
                        <input type="text" class="listformsmallx" name="betegnelser[]" readonly value="0" style="font-weight:bold;text-align:right;"/>
                    <?php }
                }
            }?>
        </ul>
    </ul>
</ul>

<a href="#" onclick="showAll();return false">Åbn alle punkter</a><br>
<a href="#" onclick="hideAll();return false">Luk alle punkter</a><br>

<hr />

<!-- Salgspriser -->

<?php
$queryt = "SELECT k.id AS id, k.ordre_id, k.underakt AS underakt, k.navn AS navn, k.beskrivelse AS beskrivelse FROM kalkulation AS k WHERE k.ordre_id = '".addslashes($_GET['id'])."' AND type = 1";
$salgs_tæller = 0;
?>

<!-- Salgspriser -->

<ul>
      <ul>
        <ul>
              <img src="/gfx/transparent.gif" style="width:100px;height:5px;" />
              <input type="text" class="listformsmally" name="betegnelser[]" readonly value="I alt salgspris:" style="font-weight:bold"/>
            <?php
            if (count($total_salgspris) > 0) {
                for ($q=0;$q<count($total_salgspris);$q++) {?><b>Kr.</b>
                    <input type="text" class="listformsmallz" name="betegnelser[]" readonly value="<?php echo number_format($total_salgspris[$q], 0, ',', '.');?>" style="font-weight:bold;text-align:right;"/>
                <?php }
            }?>
        </ul>
    </ul>
</ul>



<ul>
<?php
    for ($w=1;$w<=count($SALGSPRIS);$w++) {
        $salgspris_navn = $SALGSPRIS[$w];?>
        <li>
            <a href="#" onclick="showhide('id_<?php echo $salgspris_navn;?>');" style="width:288px;">
<!--            <a href="#" onclick="showAll();" style="width:288px;">-->
                <?php echo $salgspris_navn;?>
            </a>
           
            <!--Total salgspris-->
            <?php
            for ($d=1;$d<=$antal_kol;$d++) {
              $total_kostpris = "SELECT SUM(kostpris) AS total FROM kalkulation AS k
                                    LEFT JOIN kalkulationspriser AS kp ON k.id=kp.kalkulations_id
                                    LEFT JOIN kalkulationskolonner AS kk  ON kp.id = kk.kostpris_id
                                    WHERE kolonnenr = '".$d."' AND ordre_id = '".addslashes($_GET['id'])."' AND underakt = '".$salgspris_navn."' AND type = 1";
                $total_kost = mysql_query($total_kostpris) or die(mysql_error);
                $total = mysql_fetch_array($total_kost);
                if (empty($total['total'])) {
                    $total['total']="0";
                }
                ?>
                <b>Kr.</b>
                <input type="text" class="listformsmallz" name="total[]" readonly value="<?php echo number_format($total['total'], 0, ',', '.'); ?>" style="font-weight:bold;text-align:right;"/>
            <?php } ?>
           
            <div id="id_<?php echo $salgspris_navn;?>" style="display:none;">
                <ul>
                <?php
                    $sqlt = mysql_query($queryt) or die(mysql_error);
                    if (!mysql_num_rows($sqlt) || !isset($sqlt)) {
                        $salgs_tæller++;?>
                        <ul>
                            <!-- Inputfelter til de underakt, der endnu ikke indeholder data-->
                            <input type="hidden" name="salgs_kalk_id[]" value=""/>
                              <input type="hidden" name="salgs_underakt[]" value="<?php echo $salgspris_navn;?>"/>
                            <input type="text" class="inputextrasmall" name="salgs_navn[]">
                            <input type="text" class="inputextrasmall" name="salgs_beskrivelse[]"/>
                        </ul>
                    <? } else {
                        while ($foot = mysql_fetch_array($sqlt)) {
                            if ($salgspris_navn == $foot['underakt']) {
                                ?>
                                <?php
                                $salgs_tæller++;?>
                                <ul>
                                    <!-- Inputfelter til de underakt, der indeholder data-->
                                    <input type="hidden" name="salgs_underakt[]" value="<?php echo $salgspris_navn;?>"/>
                                    <input type="hidden" name="salgs_kalk_id[]" value="<?php echo $foot['id']; ?>" />
                                    <input type="text" class="inputextrasmall" name="salgs_navn[]" value="<?php echo $foot['navn']; ?>">
                                    <input type="text" class="inputextrasmall" name="salgs_beskrivelse[]" value="<?php echo $foot['beskrivelse']; ?>"/>
                                    <?php // Her skal der returneres et antal kolonne, som passer til de låste + 1 for sagen
                                    $maxkol = "SELECT MAX(kolonnenr) AS max_kol FROM kalkulation AS k LEFT JOIN kalkulationspriser AS kp ON kp.kalkulations_id = k.id LEFT JOIN kalkulationskolonner AS kk ON kp.id = kk.kostpris_id WHERE k.ordre_id = '".addslashes($_GET['id'])."' AND k.id = '".$foot['id']."' AND type = 1 GROUP BY ordre_id";
                                    $m_kol = mysql_query($maxkol) or die(mysql_error);
                                    $m_k = mysql_fetch_array($m_kol);

                                    $forespøgz = "SELECT *, kp.låst AS kp_låst, k.id AS id, kp.id AS kp_id FROM kalkulation AS k
                                                LEFT JOIN kalkulationspriser AS kp ON kp.kalkulations_id = k.id
                                                LEFT JOIN kalkulationskolonner AS kk ON kp.id = kk.kostpris_id
                                                WHERE k.ordre_id = '".addslashes($_GET['id'])."' AND k.id = '".$foot['id']."' AND type = 1";
                                           
                                    $forez = mysql_query($forespøgz) or die(mysql_error);
                                    $counterz=1;
                                    $arz = mysql_num_rows($forez);
                                    while ($foresz = mysql_fetch_array($forez)) {
                                        if ($foresz['kolonnenr'] == 0) {// || !isset($foresz['kolonnenr'])){
                                            $foresz['kolonnenr'] = 1;
                                        }
                                        if ($foresz['kp_id'] == 0 ) {//|| !isset($foresz['kp_id'])){
                                            $foresz['kp_id'] = 0;
                                        }
                                        ?>
                                        Kr.
                                        <input type="text" name="salgs_kostpris[<?php echo $foresz['id'];?>][<?php echo $foresz['kolonnenr'];?>][<?php echo $foresz['kp_id'];?>]" value="<?php echo number_format($foresz['kostpris'], 0, ',', '.'); ?>" <?php if ($foresz['kp_låst'] != "1") { echo "class='inputextrasmallx'"; } else { echo "class='listformsmallz' readonly";}?> style="text-align:right;"/>
<!--            name="kostpris[<?php echo $fores['id'];?>][<?php echo $fores['kolonnenr'];?>][<?php echo $fores['kp_id'];?>]"-->
                                      <?php
                                        if ($counterz == $arz && $foresz['låst'] == "1") {
                                            //Skal kun udføres efter sidste celle/kolonne, hvis denne er låst?>
                                            Kr.
                                            <input type="text" class="inputextrasmall" style="text-align:right;" name="salgs_kostpris[<?php echo $foresz['id'];?>][<?php echo $foresz['kolonnenr']+1;?>][]">
                                        <?php }
                                        $counterz+=1;
                                    }?>
                                </ul>
                            <?php }
                        }
                        $salgs_tæller++;?>
                        <ul>
                            <!-- Inputfelter til de underakt, der indeholder data-->
                            <input type="hidden" name="salgs_kalk_id[]" value=""/>
                            <input type="hidden" name="salgs_underakt[]" value="<?php echo $salgspris_navn;?>"/>
                            <input type="text" class="inputextrasmall" name="salgs_navn[]">
                            <input type="text" class="inputextrasmall" name="salgs_beskrivelse[]"/>
                        </ul>
                        <ul>
                            <input type="submit" name="gem" class="submit" value="Gem" style="position: absolute; left: -200px; top: -200px;"/>
                            <input name="laas" type="submit" value="Lås forkalkulation" class="submit" style="width:125px;"/>
                        </ul>
                    <?php }?>
                </ul>
            </div>
        </li>
    <?php }?>
</ul>



<input type="submit" name="gem" class="submit" value="Gem" style="position: absolute; left: -200px; top: -200px;"/>


<hr />
<!-- Kostpriser -->

<ul>
      <ul>
        <ul>
              <img src="/gfx/transparent.gif" style="width:100px;height:5px;" />
              <input type="text" class="listformsmally" name="betegnelser[]" readonly value="I alt kostpris:" style="font-weight:bold"/>
            <?php
            if (count($total_kostpris) > 0) {
                for ($q=0;$q<count($total_kostpris);$q++) {?>
                <b>Kr.</b>
                    <input type="text" class="listformsmallz" name="betegnelser[]" readonly value="<?php echo number_format($total_kostpris[$q], 0, ',', '.');?>" style="font-weight:bold;text-align:right;"/>
                <?php }
            }?>
        </ul>
    </ul>
</ul>

<ul>
    <?php
    $tæller = 0;
    for ($j=1;$j<=count($HOVEDAKT);$j++) {
    $hovedakt_nr = $HOVEDAKT[$j]['nr'];
    $hovedakt_be = $HOVEDAKT[$j]['beskrivelse'];?>
    <li>
        <a href="#" onclick="showhide('id_<?php echo $hovedakt_nr;?>');" style="width:288px;">
            <?php echo $hovedakt_nr." - ".$hovedakt_be;?>
        </a>
        <!--Total kostpris for hovedakt-->
        <?php
        for ($x=1;$x<=$antal_kol;$x++) {
            $total_kostpris = "SELECT SUM(kostpris) AS total FROM kalkulation AS k
                                LEFT JOIN kalkulationspriser AS kp ON k.id=kp.kalkulations_id
                                LEFT JOIN kalkulationskolonner AS kk  ON kp.id = kk.kostpris_id
                                WHERE kolonnenr = '".$x."' AND ordre_id = '".addslashes($_GET['id'])."' AND SUBSTRING(underakt, 1, 1) = '".substr($hovedakt_nr, 0, 1)."' AND type = 0";
            $total_kost = mysql_query($total_kostpris) or die(mysql_error);
            $total = mysql_fetch_array($total_kost);
            if (empty($total['total'])) {
                $total['total']="0";
            }
            ?>
            <b>Kr.</b>
            <input type="text" class="listformsmallz" name="total[]" readonly value="<?php echo number_format($total['total'], 0, ',', '.'); ?>" style="font-weight:bold;text-align:right;"/>
        <?php } ?>
       
       
          <div id="id_<?php echo $hovedakt_nr;?>" style="display:none;">
        <?
            for ($i=1;$i<=count($UNDERAKT);$i++) {
                $underakt_nr = $UNDERAKT[$i]['nr'];
                $underakt_be = $UNDERAKT[$i]['beskrivelse'];
                if (substr($underakt_nr,0,1)."0" == $hovedakt_nr) {?>
                    <ul>
                    <?php //$query = "SELECT k.id AS id, k.ordre_id, k.underakt AS underakt, k.navn AS navn, k.beskrivelse AS beskrivelse, k.kostpris_id, kp.kostpris AS kostpris FROM kalkulation AS k LEFT JOIN kalkulationspriser AS kp ON k.kostpris_id = kp.kostpris_id WHERE k.ordre_id = '".addslashes($_GET['id'])."' AND k.underakt = $underakt_nr";   
                    $query = "SELECT k.id AS id, k.ordre_id, k.underakt AS underakt, k.navn AS navn, k.beskrivelse AS beskrivelse FROM kalkulation AS k WHERE k.ordre_id = '".addslashes($_GET['id'])."' AND k.underakt = $underakt_nr AND type = 0";   
                   
                    $sql = mysql_query($query) or die(mysql_error);
                   
                    if (!mysql_num_rows($sql) || !isset($sql)) {
                        $tæller++;?>
                        <li>
                        <a href="#" onclick="showhide('id_<?php echo $underakt_nr;?>');">
                            <?php echo $underakt_nr. " - ".$underakt_be;?>
                        </a>
                            <div id="id_<?php echo $underakt_nr;?>" style="display:none;">
                                <ul>
                                        <!-- Inputfelter til de underakt, der endnu ikke indeholder data-->
                                        <input type="hidden" name="kalk_id[]" value=""/>
                                        <input type="hidden" name="underakt[]" value="<?php echo $underakt_nr;?>"/>
                                        <input type="text" class="inputextrasmall" name="navn[]">
                                        <input type="text" class="inputextrasmall" name="beskrivelse[]"/>
                                </ul>
                            </div>
                    <? } else { ?>
                        <li >
                            <a href="#" onclick="showhide('id_<?php echo $underakt_nr;?>');" style="width:248px;">
                                <?php echo $underakt_nr. " - ".$underakt_be;?>
                            </a>
                            <!--<img src="/gfx/transparent.gif" style="width:112px;height:10px;"/>-->
                            <?php
                            for ($x=1;$x<=$antal_kol;$x++) {
                                $total_kostpris = "SELECT SUM(kostpris) AS total FROM kalkulation AS k
                                                    LEFT JOIN kalkulationspriser AS kp ON k.id=kp.kalkulations_id
                                                    LEFT JOIN kalkulationskolonner AS kk  ON kp.id = kk.kostpris_id
                                                    WHERE kolonnenr = '".$x."' AND ordre_id = '".addslashes($_GET['id'])."' AND underakt = '".$underakt_nr."' AND type = 0";
                                $total_kost = mysql_query($total_kostpris) or die(mysql_error);
                                $total = mysql_fetch_array($total_kost);?>
                                <b>Kr.</b>
                                <input type="text" class="listformsmallz" name="total[]" readonly value="<?php echo number_format($total['total'], 0, ',', '.'); ?>" style="font-weight:bold;text-align:right;"/>
                            <?php } ?>
                            <div id="id_<?php echo $underakt_nr;?>" style="display:none;">
                                <?php while ($foo = mysql_fetch_array($sql)) {
                                $tæller++;?>
                                    <ul>
                                              <input type="hidden" name="kalk_id[]" value="<?php echo $foo['id']; ?>" />
                                            <input type="hidden" name="underakt[]" value="<?php echo $underakt_nr;?>"/>
                                            <input type="text" class="inputextrasmall" name="navn[]" value="<?php echo $foo['navn']; ?>" />
                                            <input type="text" class="inputextrasmall" name="beskrivelse[]" value="<?php echo $foo['beskrivelse']; ?>" />
                                        <?php // Her skal der returneres et antal kolonne, som passer til de låste + 1 for sagen
                                        $maxkol = "SELECT MAX(kolonnenr) AS max_kol FROM kalkulation AS k LEFT JOIN kalkulationspriser AS kp ON kp.kalkulations_id = k.id LEFT JOIN kalkulationskolonner AS kk ON kp.id = kk.kostpris_id WHERE k.ordre_id = '".addslashes($_GET['id'])."' AND k.id = '".$foo['id']."' AND type = 0 GROUP BY ordre_id";
                                        $m_kol = mysql_query($maxkol) or die(mysql_error);
                                        $m_k = mysql_fetch_array($m_kol);
                                       
                                        $forespøg = "SELECT *, kk.låst AS låst, kp.låst AS kp_låst, k.id AS id, kp.id AS kp_id FROM kalkulation AS k
                                                    LEFT JOIN kalkulationspriser AS kp ON kp.kalkulations_id = k.id
                                                    LEFT JOIN kalkulationskolonner AS kk ON kp.id = kk.kostpris_id
                                                    WHERE k.ordre_id = '".addslashes($_GET['id'])."' AND k.underakt = $underakt_nr AND k.id = '".$foo['id']."' AND type = 0";
                                       
                                       
                                        $fore = mysql_query($forespøg) or die(mysql_error);
                                        $counter=1;
                                        $ar = mysql_num_rows($fore);
                                        while ($fores = mysql_fetch_array($fore)) {
                                           
                                            if ($fores['kolonnenr'] == 0){
                                                $fores['kolonnenr'] = 1;
                                            }
                                            if ($fores['kp_id'] == 0){
                                                $fores['kp_id'] = 0;
                                            }?>
                                            Kr.
                                            <input type="text" style="text-align:right;" name="kostpris[<?php echo $fores['id'];?>][<?php echo $fores['kolonnenr'];?>][<?php echo $fores['kp_id'];?>]" value="<?php echo number_format($fores['kostpris'], 0, ',', '.'); ?>" <?php if ($fores['kp_låst'] != "1") { echo "class='inputextrasmallx'"; } else { echo "class='listformsmallz' readonly";}?> />
                                           

                                            <?php
                                            if ($counter == $ar && $fores['låst'] == "1") {
                                            //Skal kun udføres efter sidste celle/kolonne, hvis denne er låst?>
                                            Kr.
                                                <input type="text" class="inputextrasmall" name="kostpris[<?php echo $fores['id'];?>][<?php echo $fores['kolonnenr']+1;?>][]">
                                            <?php }
                                            $counter+=1;
                                        }?>
                                    </ul>
                                <?php
                                }
                                $tæller++;?>
                                    <ul>
                                        <!-- Inputfelter til de underakt, der indeholder data-->
                                        <input type="hidden" name="kalk_id[]" value=""/>
                                        <input type="hidden" name="underakt[]" value="<?php echo $underakt_nr;?>"/>
                                        <input type="text" class="inputextrasmall" name="navn[]">
                                        <input type="text" class="inputextrasmall" name="beskrivelse[]"/>
                                    </ul>
                                    <ul>
                                          <input type="submit" name="gem" class="submit" value="Gem" style="position: absolute; left: -200px; top: -200px;"/>
                                        <input name="laas" type="submit" value="Lås forkalkulation" class="submit" style="width:125px;"/>
                                    </ul>
                            </div>
                    <? } ?>
                    </li>
                    </ul>
                <? }
            }?>
            </div>
            </li>
        <? }?>
    </li>
</ul>
</li>
<tr>
    <td>
        <input type="submit" name="submit2" class="submit" value="Fortsæt">
        <input type="hidden" name="tæller" value="<?php echo $tæller;?>" />
        <input type="hidden" name="salgs_tæller" value="<?php echo $salgs_tæller;?>" />       
    </td>
</tr>

</table>
</form>
<script language="javascript">
<!--
var state = 'none';

function showAll() {
    var divs = document.getElementsByTagName('div');
    for (i=0;i<divs.length;i++) {
        divs[i].style.display = 'block';
    }
}

function hideAll() {
//    var ext = new Array();
    var ext = "right";
    var tex = "left";

    var divz = document.getElementsByTagName('div');
    for (j=0;j<divz.length;j++) {
        divz[j].style.display = 'none';
    }
    document.getElementById('left').style.display = 'block';
    document.getElementById('right').style.display = 'block';
}

function showhide(layer_ref) {

    if (state == 'block') {
        state = 'none';
    } else {
        state = 'block';
    }

    if (document.all) { //IS IE 4 or 5 (or 6 beta)
        eval( "document.all." + layer_ref + ".style.display = state");
    }
   
    if (document.layers) { //IS NETSCAPE 4 or below
        document.layers[layer_ref].display = state;
    }
   
    if (document.getElementById &&!document.all) {
        hza = document.getElementById(layer_ref);
        hza.style.display = state;
    }
}

//-->
</script>


Den læses så dog stadig ind via

<?php
...
('content/pop'.$page.'.php');
...
?>
Avatar billede lsskaarup Nybegynder
16. november 2010 - 22:39 #12
Noget forslag?
Avatar billede lsskaarup Nybegynder
15. januar 2011 - 13:21 #13
Nå, jeg har fået løst problemet andet steds.
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