Avatar billede kimox Nybegynder
22. januar 2007 - 12:20 Der er 13 kommentarer og
1 løsning

Hjælp til valg af person?

Hej eksperter.

Jeg har et problem med en side jeg er ved at lave.

Dette script åbner op i en lille vindue:

<?php
if(isset($_POST['seek']))
{
    include("db.php");
    $seek = mysql_escape_string($_POST['seek']);
    $query = mysql_query("SELECT * FROM vlog WHERE navn LIKE '".$seek."%'");
    if(mysql_num_rows($query) > 0)
    {
echo "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"main_txt\">
  <tr>
    <td width=\"60%\"><b>Navn:</b></td>
    <td width=\"30%\"><b>Cpr-nr:</b></td>
    <td width=\"10%\"><b>V&#1608;lge:</b></td>
  </tr>
    <tr>
    <td width=\"60%\"><b>&nbsp;</b></td>
    <td width=\"30%\"><b>&nbsp;</b></td>
    <td width=\"10%\"><b>&nbsp;</b></td>
  </tr>";
        //Vi fandt noget...
          $a = 0;
        while($row = mysql_fetch_array($query))
        {
        $a++;
        if($a%2 == 0) {
        $bgcolor = "#FFFFFF";
        } else {
        $bgcolor = "#E3E3E3";
        }
        $cprnr = $row['cprnr'];
        $navn = $row['navn'];
        $email = $row['email'];   
        $over = '#ded7c7';
            $i++;
            echo "<tr bgcolor=\"$bgcolor\" onMouseOver=\"this.bgColor='$over';\" onMouseOut=\"this.bgColor='$bgcolor';\">";
            echo "<td>$navn</td>";
            echo "<td>$cprnr</td>";
            echo "<td><center><a href=\"\"><img src=\"images/select.gif\" border=\"0\"></a></center></td>";
            echo "</tr>";
        }
    }
    else
    {
        //Vi fandt ikke noget...
        echo "Der blev desv&#1608;rre ikke fundet noget p&#1607; s&#1617;geordet \"" . $seek . "\" i databasen, pr&#1617;v igen!";
    }
}
?>

Scriptet finder nogle personer i min DB og ud for deres navn der er et lille billede (images/select.gif) -

Mit problem er så jeg skal have lavet så når man trykker på billedet (images/select.gif) så skal den hente personens cprnr og så lukke det åbnede vindue. Og så skal den sætte den ind på den side som er åben ved siden af. i et felt der hedder "cprnr".

Siden som den skal indfører det hentede cprnr i, ser sådan ud:
<form action="vikar_send_mail.php?id=<?=$id?>" method="post" enctype="multipart/form-data">
                  <table border="0" cellspacing="0" cellpadding="0" width="463" height="223" class="main_txt">
                    <tr>
                    <td width="137" height="24"><div align="left">Modtager (cprnr): </div></td>
                      <td width="76"><div align="left">
                        <input name="cprnr" type="text" class="input" id="cprnr" value="<?=$cprnr?>" size="10" maxlength="10" />
                      </div></td>
                      <td width="250" class="style1"><span class="cursor" onclick="MM_openBrWindow('vikar_findpers.php','Find','scrollbars=yes,width=320,height=400')">&nbsp;<img src="images/pil.gif" width="8" height="7" /> Find person </span></td>
                    </tr>
                    <tr>
                      <td height="24"><div align="left">Afsender:</div></td>
                      <td colspan="2"><input name="navn" type="text" class="input" id="navn" value="<?=$bruger?>" /></td>
                    </tr>
                    <tr>
                      <td height="24" valign="top"><div align="left">Emne:</div></td>
                      <td colspan="2"><div align="left">
                        <input name="emne" type="text" class="input" id="emne">
                      </div></td>
                    </tr>
                    <tr>
                      <td valign="top"><div align="left">Beksed:</div></td>
                      <td colspan="2"><div align="left">
                        <textarea name="tekst" cols="50" rows="10" class="input" id="tekst"></textarea>
                      </div></td>
                    </tr>
                    <tr>
                      <td valign="top">&nbsp;</td>
                      <td colspan="2"><div align="left">
                        <input name="send" type="submit" class="ok_input" value="Send post" />                     
                      </div></td>
                    </tr>
          </table>
</form>



Er det noget i kan hjælpe med?
Avatar billede jakobdo Ekspert
22. januar 2007 - 17:45 #1
Jeg kan ikke give dig den færdige kode, men det du i bund i grund skal gøre er følgende:

Når man trykker på images/select.gif så skal du lave billedet til et link, f.eks.:

hentCPR.php?id=4
I din kode hentCPR.php henter du så CPR fra din database, du henter selvfølgelig personen med ID = 4, så laver du noget javascript, som kalder: parent.document.form.cprnr = "DET NUMMER DU FANDT I DB";
og window.close();
Noget i den stil burde kunne gøre det.
Avatar billede kimox Nybegynder
22. januar 2007 - 18:15 #2
okay er det fordi det er forkert oprettet at du ikke kan hjælpe mig med en færdig kode :/?
Avatar billede jakobdo Ekspert
22. januar 2007 - 18:29 #3
Nej, det er nok mere fordi jeg ikke gider! :o)
Men jeg må da indrømme du har fået et par ideer du selv burde kunne lave noget fungerende kode med.
Avatar billede kimox Nybegynder
22. januar 2007 - 18:43 #4
ah okay. det er bare det med java delen jeg ikke er så meget inde i ;) med hvordan den får smidt det ind i feltet når det er. men jeg må prøve
Avatar billede jakobdo Ekspert
22. januar 2007 - 19:25 #5
Avatar billede kimox Nybegynder
23. januar 2007 - 10:33 #6
aah ja præcis sådan. jeg vil lige tage et kig på det. mange tak.
Avatar billede kimox Nybegynder
24. januar 2007 - 12:16 #7
vil du ikke dele actionen "pick" :)

Men den skal gemme det cpr nummer den får fat i, i en session eller i en javastring?
Avatar billede jakobdo Ekspert
24. januar 2007 - 12:46 #8
Her har du hele koden:

<?php
switch($_GET['action'])
{
    case 'pick':
        $person = $_GET['person'];
        $cpr = array(1 => '1122334455',2 => '2233445566', 3 => '3344556677', 4 => '4455667788', 5 => '5566778899');
       
        if(is_numeric($person) && array_key_exists($person,$cpr))
        {
            echo '<script type="text/javascript">';
            echo 'if (window.opener && !window.opener.closed)';
          echo '    window.opener.document.myForm.myText.value = "'.$cpr[$person].'";';
          echo 'window.close();';
            echo '</script>';
        }
        else
        {
            echo "ERROR";
        }
        break;
    case 'window':
        echo 'V&aelig;lg noget!<br />';
        for($i = 1; $i <= 5; $i++)
        {
            echo 'V&aelig;lg person'.$i.'! <a href="'.$_SERVER['PHP_SELF'].'?action=pick&person='.$i.'">Klik</a><br />';
        }
        break;
    default:
        echo '<script type="text/javascript">';
        echo 'window.open("'.$_SERVER['PHP_SELF'].'?action=window","pickWindow","height=400,width=400,top=100,screenY=100,left=100,screenX=100,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,alwaysLowered=no,alwaysRaised=no,dependent=no,hotkeys=no,titlebar=no,z-lock=no,fullscreen=no,channelmode=no");';
        echo '</script>';
        echo '<form name="myForm" action="'.$_SERVER['PHP_SELF'].'" method="post">';
        echo 'CPR: <input type="text" name="myText" /><br />';
        echo '<input type="submit" name="mySubmit" value="Send CPR" />';
        echo '</form>';
}
?>
Avatar billede kimox Nybegynder
12. februar 2007 - 11:41 #9
Jeg kan sku ikke få den til at fungere
Avatar billede kimox Nybegynder
12. februar 2007 - 15:34 #10
smider du et svar, jeg lavede den lidt om.
Avatar billede jakobdo Ekspert
12. februar 2007 - 17:05 #11
Svar!
Avatar billede kimox Nybegynder
12. februar 2007 - 17:31 #12
Tak for din hjælp.

Hvis du har lyst eller tid må du gerne kigge på denne http://www.eksperten.dk/spm/762087
Avatar billede jakobdo Ekspert
12. februar 2007 - 17:40 #13
Takker for point...
Avatar billede kimox Nybegynder
12. februar 2007 - 18:19 #14
Så lidt
:)

-lukket-
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