Avatar billede tanzaweb Nybegynder
10. oktober 2005 - 15:05 Der er 3 kommentarer og
1 løsning

Problem med select, PHP, Javascript

Hej

Jeg har et problem med en side hvor jeg ved valg i en select liste for 1 af 3 valgmuligheder frem, men hvis jeg ved 2 af mulighederne vil se nogle flere numre så skifter den ikke til de næste 20 numre frem eller tilbage men den bliver ved de samme 20 numre. Er der en der kan se en løsning på dette problem.

                <table border="0">
                    <tr>
                        <td align="center" class="normal"><b>Vælg Nummer</b></td>
                    </tr>
                    <tr>
                        <td align="center" class="normal">
                       
<script language="JavaScript" type="text/javascript">
<!--
var array_map=new Array();
array_map[0]='extra[nummer]0';//...de cea de-a treia optiune din select
array_map[1]='extra[nummer]14';//id divului afisat de prima optiune din select
array_map[2]='extra[nummer]15';//...de cea de-a doua optiune din select
array_map[3]='extra[nummer]16';//...de cea de-a treia optiune din select

function showhide(){
var array_key=document.menu.extranummer_TYPE.options.selectedIndex;//obtine indexul:0, 1 sau 2 - sunt 3 elemente option
var id_selectat=array_map[array_key];//obtine id-ul div-ului in functie de index
document.getElementById(id_selectat).style.visibility='visible';

//ascunde toate divurile mai putin cel selectat din index
for(var i=0;i<document.menu.extranummer_TYPE.length;i++){
  var id_menu=array_map[i];
  if(id_menu==id_selectat) continue;//sari peste div-ul selectat
  document.getElementById(id_menu).style.visibility='hidden';
}
}
// -->
</script>
Vælg almindeligt nummer, guld nummer, eller Nummerportering
<form action="kurv.php" method="post" name="menu" >
<select class="field" id="extranummer_TYPE" name="extranummer_TYPE" onchange=showhide();>
<option value="extra[nummer]0">Vælg nummer</option>
<option value="something14">Guld nummer</option>
<option value="something15">Alm. nummer</option>
<option value="something16">Nummer portering</option>   
</select><font color="#FF0000">*</font>

<div class="textLabel" id="extra[nummer]0" style="visibility:hidden;"></div>
<div class="textLabel" id="extra[nummer]14" style="visibility:hidden;">
<?php
                        $limit_1=20; //Rows to return
                        $result_1=mysql_query("SELECT * FROM netnumb WHERE netG='1'");
                        $row_1 = mysql_num_rows($result_1);
                        //ændret til mysql_fetch_array så du kan indexere med feltnavne
                        //Next determine if offset has been passed to script, if not use 0
                        if (empty($offset_1)) {
                        $offset_1=0;
                        }
                       
                        // next we need to do the links to other results
                        if ($offset_1>1) { // bypass PREV link if offset is =
                            $prevoffset_1 = $offset_1-20;
                            print "<a href=\"$PHP_SELF?offset=$prevoffset_1\">FORRIGE</a> &nbsp; \n";
                        }
                       
                        // calculate number of pages needing links
                        $pages_1 = intval($row_1/$limit_1);
                       
                        // If page less than 2 show no page.
                        if ($pages_1<=0){
                       
                        }else{
                       
                        //$pages_1 now contains int of pages needed unless there is a remainder from Division
                        if ($row_1%$limit_1) {
                            // has remainder so add one page
                            $pages_1++;
                            }
                           
                        for ($j=1; $j<=$pages_1; $j++) { // loop thru
                            $newoffset_1=$limit_1*($j-1);
                            print "<a href=\"".$_SERVER['PHP_SELF']."?offset=$newoffset_1\">$j</a> &nbsp; \n";
                        }
                        }
                       
                        // check to see if last page
                        if (!( ( ($offset_1+$limit_1) / $limit_1) >= $pages_1) && $pages_1!=1) {
                        // not last page so give NEXT link
                        $newoffset_1=$offset_1+$limit_1;
                        print "<a href=\"".$_SERVER['PHP_SELF']."?offset=$newoffset_1\">NÆSTE</a> &nbsp; \n";
                        }
                       
                        if (!empty($_GET)) {
                        extract($_GET);
                        } else if (!empty($HTTP_GET_VARS)) {
                        extract($HTTP_GET_VARS);
                        }
                                               
                        $result = mysql_query("SELECT * from netnumb WHERE netG='1' LIMIT $offset_1,$limit_1");
                        echo "<select name='extra14[nummer]' style=\"font-size:9pt;\">";
                        while ($row = mysql_fetch_array($result)){
                        echo "<option value='"; echo $row['netPhone']."'>"; echo $row['netPhone']."</option>";
                        }
                        echo "</select>";
                        echo "<input type=\"hidden\" name=\"id\" value=\"14\">";
                        ?>                       
</div>
<div class="textLabel" id="extra[nummer]15" style="visibility:hidden;">
<?php
       
                        $limit_2=20; //Rows to return
                        $result_2=mysql_query("SELECT * FROM netnumb WHERE netG='2'");
                        $row_2 = mysql_num_rows($result_2);
                        //ændret til mysql_fetch_array så du kan indexere med feltnavne
                        //Next determine if offset has been passed to script, if not use 0
                        if (empty($offset_2)) {
                        $offset_2=0;
                        }
                       
                        // next we need to do the links to other results
                        if ($offset_2>1) { // bypass PREV link if offset is =
                            $prevoffset_2 = $offset_2-20;
                            print "<a href=\"$PHP_SELF?offset=$prevoffset_2\">FORRIGE</a> &nbsp; \n";
                        }
                       
                        // calculate number of pages needing links
                        $pages_2 = intval($row_2/$limit_2);
                       
                        // If page less than 2 show no page.
                        if ($pages_2<=0){
                       
                        }else{
                       
                        //$pages_2 now contains int of pages needed unless there is a remainder from Division
                        if ($row_2%$limit_2) {
                            // has remainder so add one page
                            $pages_2++;
                            }
                           
                        for ($j=1; $j<=$pages_2; $j++) { // loop thru
                            $newoffset_2=$limit_2*($j-1);
                            print "<a href=\"".$_SERVER['PHP_SELF']."?offset=$newoffset_2\">$j</a> &nbsp; \n";
                        }
                        }
                       
                        // check to see if last page
                        if (!( ( ($offset_2+$limit_2) / $limit_2) >= $pages_2) && $pages_2!=1) {
                        // not last page so give NEXT link
                        $newoffset_2=$offset_2+$limit_2;
                        print "<a href=\"".$_SERVER['PHP_SELF']."?offset=$newoffset_2\">NÆSTE</a> &nbsp; \n";
                        }
                       
                        if (!empty($_GET)) {
                        extract($_GET);
                        } else if (!empty($HTTP_GET_VARS)) {
                        extract($HTTP_GET_VARS);
                        }
                       
       
                        $result = mysql_query("SELECT * from netnumb WHERE netG='2' LIMIT $offset_2,$limit_2");
                        echo "<select name='extra15[nummer]' style=\"font-size:9pt;\">";
                        while ($row = mysql_fetch_array($result)){
                        echo "<option value='"; echo $row['netPhone']."'>"; echo $row['netPhone']."</option>";
                        }
                        echo "</select>";
                        echo "<input type=\"hidden\" name=\"id\" value=\"15\">";
                        ?>
                       
</div>
<div class="textLabel" id="extra[nummer]16" style="visibility:hidden;">Flyt nummer: <input name="extra16[nummer]" value="" size="10"><input type="hidden" name="id" value="16"></div>
Avatar billede roenving Novice
10. oktober 2005 - 15:11 #1
-- du har vist overset reglerne om, at det ikke er tilladt at oprette samme spørgsmål indenfor 7 dage og slet ikke flere gange ...

-- så du skal selvfølgelig lukke dette spørgsmål øjeblikkeligt !-)

http://exp.dk/regler.phtml, §2.1.11

mvh
/coadmin
Avatar billede tanzaweb Nybegynder
10. oktober 2005 - 15:18 #2
og hvordan sletter jeg så lige?
Avatar billede roenving Novice
10. oktober 2005 - 15:21 #3
Lægger selv et svar og accepterer det !-)
Avatar billede tanzaweb Nybegynder
10. oktober 2005 - 15:24 #4
skal slettes
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