Avatar billede twistedup Nybegynder
21. juni 2007 - 21:53 Der er 14 kommentarer og
1 løsning

Detaljevisning ved resultat af søgning

X Hej Eksperter,

Jeg har lavet en søgefunktion i php, hvor brugeren via en formular søger på et navn. Resultatet bliver at brugeren får en liste med de navne fra en SQL-database som svarer til det søgte.

Mit problem er nu:

Hvordan laver jeg det så hver af resultaterne fra søgningen bliver til et link videre til en detaljevisning, hvor alle data fra et enkelt udvalgt emne vises på en ny side?
Avatar billede editone Nybegynder
21. juni 2007 - 22:28 #1
Du kan fx vælge at plugge id'et ud og bruge det som link

<a href="brugerinfo.php?id=$db_id" alt="">$db_bruger</a>

Også laver du jo bare en side hvor du siger

if($_GET[id] != 0) {

select * from database where id=$_GET[id];
}
Også smider du bare informationerne ud herefter
Avatar billede editone Nybegynder
21. juni 2007 - 23:17 #2
if($_GET[id] != " ") {
Avatar billede twistedup Nybegynder
22. juni 2007 - 08:55 #3
Jeg har fået et andet problem. Når man søger henter jeg de indtastede data på følgende måde, hvilket resulterer i, at samtlige emner på listen, der kommer frem bliver et link. Hvordan laver jeg linket unikt?

            <?php

            if(@$_GET[soeg]){
            include("connect.php");
            connect(); // forbindelsen åbnes           
           
                $search = mysql_query("SELECT * FROM hundeejere WHERE fornavn = '".$_GET["fornavn"]."' AND efternavn = '".$_GET["efternavn"]."'");
                if(mysql_num_rows($search) > 0)
                {
                    //Wee vi fandt noget
                    while ($row = mysql_fetch_array($search))
                    {
            ?>
                    <table border="1">
                        <tr>
                          <td>
                        <a href="spec_info.php?id=$id">
                        <?php
                        echo $row['fornavn'];
                        echo $row['efternavn'] . "<br>";
                        ?>
                        </a>
                            </td>
                      </tr>
                      </table>
            <?php
                    }
                }
                else
                {
                    //Ikke fundet noget
                    echo "Der er desværre ingen emner i databasen, der svarer til din indtastning.";
                }
                }
            ?>
Avatar billede editone Nybegynder
22. juni 2007 - 13:41 #4
<table border="1">
                        <tr>
                          <td>
                        <a href="spec_info.php?id=$row[id]">
                        <?php
                        echo $row['fornavn'];
                        echo $row['efternavn'] . "<br>";
                        ?>
                        </a>
                            </td>
                      </tr>
                      </table>
Avatar billede dkfire Nybegynder
22. juni 2007 - 15:35 #5
<?php

            if(@$_GET[soeg]){
            include("connect.php");
            connect(); // forbindelsen åbnes         
         
                $search = mysql_query("SELECT * FROM hundeejere WHERE fornavn = '".$_GET["fornavn"]."' AND efternavn = '".$_GET["efternavn"]."'");
                if(mysql_num_rows($search) > 0)
                {
                    //Wee vi fandt noget
                    while ($row = mysql_fetch_array($search))
                    {
                        echo '<table border="1">
                        <tr>
                          <td>
                        <a href="spec_info.php?id='.$row['id'].'">'

                        echo $row['fornavn'];
                        echo $row['efternavn'] . "<br>";

                    ?>
                        </a>
                            </td>
                      </tr>
                      </table>
            <?php
                    }
                }
                else
                {
                    //Ikke fundet noget
                    echo "Der er desværre ingen emner i databasen, der svarer til din indtastning.";
                }
                }
            ?>
Avatar billede dkfire Nybegynder
22. juni 2007 - 15:37 #6
Hmm mangler lige et ; efter <a href="spec_info.php?id='.$row['id'].'">';
Avatar billede cronick Nybegynder
22. juni 2007 - 23:31 #7
<?php

            if(@$_GET[soeg]){
            include("connect.php");
            connect(); // forbindelsen åbnes           
           
                $search = mysql_query("SELECT * FROM hundeejere WHERE fornavn = '".$_GET["fornavn"]."' AND efternavn = '".$_GET["efternavn"]."'");
                if(mysql_num_rows($search) > 0)
                {
                    //Wee vi fandt noget
                    while ($row = mysql_fetch_array($search))
                    {
            ?>
                    <table border="1">
                    <tr>
                      <td>
                        <a href="spec_info.php?id=<?php echo $row['id']; ?>">
                        <?php
                        echo $row['fornavn'];
                        echo $row['efternavn'];
                        ?>
                        </a>
                      </td>
                    </tr>
                    </table>
            <?php
                    }
                }
                else
                {
                    //Ikke fundet noget
                    echo "Der er desværre ingen emner i databasen, der svarer til din indtastning.";
                }
                }
            ?>
Avatar billede twistedup Nybegynder
23. juni 2007 - 17:10 #8
Okey editone, den del virker så fint nok nu :)

Men min detaljeside er tom.

Henter jeg informationen forkert?

      <?php
            if($_GET[id] != " ") {
            include("connect.php");
            connect(); // forbindelsen åbnes           

           
            $result = mysql_query("SELECT * FROM hundeejere WHERE id=$_GET[id]");
            }
        ?>
            <table border="1">
                <tr>
                  <td width="15px"><?php echo $result['id']; ?></td>
                  <td width="50px"><?php echo $result['fornavn']; ?></td>
                  <td width="70px"><?php echo $result['efternavn']; ?></td>
                  <td width="100px"><?php echo $result['adresse']; ?></td>
                  <td width="15px"><?php echo $result['dyreart']; ?></td>
                  <td width="100px"><?php echo $result['race']; ?></td>
                  <td width="15px"><?php echo $result['koen']; ?></td>
                  <td width="100px"><?php echo $result['dyrenavn']; ?></td>
                  <td width="150px"><?php echo $result['forsikringsselskab']; ?></td>
                  <td width="100px"><?php echo $result['policenummer']; ?></td>
                </tr>
            </table>
Avatar billede editone Nybegynder
23. juni 2007 - 17:26 #9
<?php
            if($_GET[id] != " ") {
            include("connect.php");
            connect(); // forbindelsen åbnes         

         
            $result = mysql_query("SELECT * FROM hundeejere WHERE id=' . $_GET[id] . '");
            }
        ?>
Avatar billede cronick Nybegynder
23. juni 2007 - 17:41 #10
I henter begge to fra tabellen, men glemmer at indholdet skal kunne vises gennem sin egen variabel. Her:

      <?php
            if($_GET[id] != " ") {
            include("connect.php");
            connect(); // forbindelsen åbnes           

           
            $result = mysql_fetch_assoc(@mysql_query("SELECT * FROM hundeejere WHERE id = ".$_GET['id'].""));
            }
        ?>
            <table border="1">
                <tr>
                  <td width="15px"><?php echo $result['id']; ?></td>
                  <td width="50px"><?php echo $result['fornavn']; ?></td>
                  <td width="70px"><?php echo $result['efternavn']; ?></td>
                  <td width="100px"><?php echo $result['adresse']; ?></td>
                  <td width="15px"><?php echo $result['dyreart']; ?></td>
                  <td width="100px"><?php echo $result['race']; ?></td>
                  <td width="15px"><?php echo $result['koen']; ?></td>
                  <td width="100px"><?php echo $result['dyrenavn']; ?></td>
                  <td width="150px"><?php echo $result['forsikringsselskab']; ?></td>
                  <td width="100px"><?php echo $result['policenummer']; ?></td>
                </tr>
            </table>
Avatar billede twistedup Nybegynder
24. juni 2007 - 00:05 #11
Det er super! Nu kører det hele som jeg ville have det.

Det er cronicks kode der virker, så du får pointene. Kunne ikke få dit til at virke editone.

Cronick gider du evt. forklare hvad du mener med at "indholdet skal kunne vises gennem sin egen variabel?
Avatar billede cronick Nybegynder
24. juni 2007 - 01:43 #12
Ja okey, det var nok ikke helt velformuleret, det med egen variabel, idet I begge lavede variablen $result. Det jeg mente var, at I begge manglede at give denne variabel en yderligere visningsegenskab (mysql_fetch_assoc()) foreksempel. Dette er bl.a. hvorfor editone's svar ikke virker, og fordi hans WHERE er forkert. Den leder efter et id, som f.eks. ser således ud: ". 13 .". :)
Avatar billede twistedup Nybegynder
24. juni 2007 - 13:02 #13
Nåh sådan - ja jeg er ret ny med database arbejde, så jeg lærer hele tiden :)

Tak for hjælpen cronick (og også editone) - her har du point.
Avatar billede cronick Nybegynder
24. juni 2007 - 13:31 #14
Det var så lidt.. :)
Avatar billede cronick Nybegynder
25. juni 2007 - 19:17 #15
Twistedup - ikke fordi jeg vil opfordre dig til det på nogen måde, men hvis du ville få lyst til at give en lille kort karma-vurdering (idet jeg desværre har så få), "ville det ikke gøre noget"... :)
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