Avatar billede kellesen Nybegynder
03. juli 2007 - 13:31 Der er 19 kommentarer og
1 løsning

links, iframe osv

Hej eksperter,

Jeg har en side med to iFrames.
Den ene iFrame henter data fra mySQL via følgende script :
<?php
// Udfører SQL forespørgsel
$query = "SELECT navn FROM heste";
$result = mysql_query($query) or die("Forespørgslen lykkedes ikke : " . mysql_error());

// Printer resultatet i HTML
echo "<table>";
while ($line = mysql_fetch_array($result)) {

$navn = $line['navn'];
echo "<tr>";
echo "<td>";
echo $navn;
echo "</td>";
echo "</tr>";}
echo "</table>";

// Befri resultatet fra hukommelseN
mysql_free_result($result);

// Luk forbindelsen
mysql_close($link);
?>

Når man klikker på et af de navne der kommer frem i listen skal det være et link der viser indholdet i den anden iframe.

Hvordan gøres det?

Listen i Ifarme skal altså hele tiden være der.. Men indholdet i den anden iframe skifter alt efter hvilket navn man trykker på...
Avatar billede jakobdo Ekspert
03. juli 2007 - 15:06 #1
Hvis vi siger iframe 1 er det med dine links, så skal du give et navn på iframe2
F.eks.:

<iframe name="iframe2" src="startside.php" />

Når du så laver links i iframe1, skal det være i stil med:

<a href="noget.php" target="iframe2">Noget</a>
<a href="andet.php" target="iframe2">Andet</a>
osv.
Avatar billede kellesen Nybegynder
03. juli 2007 - 15:12 #2
hvordan linker jeg:

echo $navn;

har skrevet:

echo "<a href=\"?link=$line[navn]\">"$navn"</a>"
men får:
unexpected T_VARIABLE,
Avatar billede jakobdo Ekspert
03. juli 2007 - 15:20 #3
Jeg ville nok trække id og navn ud fra tabellen heste.
Og så lave et link ala:

echo '<a href="hest.php?id='.$line['id'].' target="iframe1">'.$line['navn'].'</a>';

Og så laver du en fil der hedder hest.php som så trækker data ud fra id = NOGET.
Det tager vi når dine links virker tror jeg! :o)
Avatar billede kellesen Nybegynder
04. juli 2007 - 10:19 #4
okay - er nået så langt:
-----------------------------------------------------------
          <td height="100" align="left" valign="top">
                <iframe name="iframe1" src="pages/f_list.php" class="iframe" width="150" height="270"></iframe>       
              </td>
              <td width="2" height="280" bgcolor="#000000">&nbsp;</td>
              <td height="100" colspan="2" align="left" valign="top">
              <iframe name="iframe2" src="pages/f_indhold.php" class="iframe" width="150" height="270"></iframe>
              </td>
-----------------------------------------------------------
iframe1
// Udfører SQL forespørgsel
$query = "SELECT navn FROM heste";
$result = mysql_query($query) or die("Forespørgslen lykkedes ikke : " . mysql_error());

// Printer resultatet i HTML
echo "<table>";
while ($line = mysql_fetch_array($result)) {

$navn = $line['navn'];
echo "<tr>";
echo "<td>";
echo '<a href="hest.php?id='.$line['id'].' target="iframe2">'.$line['navn'].'</a>';
echo "</td>";
echo "</tr>";}
echo "</table>";

// Befri resultatet fra hukommelseN
mysql_free_result($result);

// Luk forbindelsen
mysql_close($link);
------------------------------------------
iframe2

// Udfører SQL forespørgsel
$query = "SELECT navn FROM heste";
$result = mysql_query($query) or die("Forespørgslen lykkedes ikke : " . mysql_error());

// Printer resultatet i HTML
echo "<table>";
while ($line = mysql_fetch_array($result)) {

$navn = $line['navn'];
echo "<tr>";
echo "<td>";
echo $id;
echo "</td>";
echo "</tr>";}
echo "</table>";

// Befri resultatet fra hukommelseN
mysql_free_result($result);

// Luk forbindelsen
mysql_close($link);
Avatar billede jakobdo Ekspert
04. juli 2007 - 18:22 #5
Kan du få iframe2 til at skifte alt efter hvad du klikker i iframe1?
Avatar billede jakobdo Ekspert
04. juli 2007 - 20:08 #6
Prøv at se mit eksempel her: http://www.codebreaker.dk/exp/786061exp.php
Avatar billede kellesen Nybegynder
05. juli 2007 - 10:14 #7
hey.. nej de skifter ikke..
det er nøjagtig som det eksempel du satte op.. kan dog ikke lige integrere koden du har skrevet.. skal jo hive ned fra en db osv.. kan du hjælpe med det?
Avatar billede jakobdo Ekspert
05. juli 2007 - 16:27 #8
Kan du ikke smide et dump af din tabel heste ?
Så jeg kan se hvilke felter du har.
Avatar billede kellesen Nybegynder
06. juli 2007 - 12:23 #9
jov da

-- Struktur-dump for tabellen `heste`
--

CREATE TABLE `heste` (
  `horseid` int(4) NOT NULL auto_increment,
  `kategori` int(1) NOT NULL default '0',
  `navn` varchar(20) NOT NULL default '',
  `far` varchar(20) NOT NULL default '',
  `mor` varchar(20) NOT NULL default '',
  `praimie` int(10) NOT NULL default '0',
  `pris` int(10) NOT NULL default '0',
  `alder` int(2) NOT NULL default '0',
  `tekst` text NOT NULL,
  `billeder` varchar(128) NOT NULL default '',
  `stamtrae` varchar(128) NOT NULL default '',
  PRIMARY KEY  (`horseid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=82 ;

--
-- Data dump for tabellen `heste`
--
Avatar billede jakobdo Ekspert
06. juli 2007 - 13:22 #10
Prøv denne:

<?php

//Husk at forbind til MYSQL

switch($_GET['frame'])
{
    case 1:
        echo '<h1>iFrame1</h1>';
       
        $query = "SELECT horseid,navn FROM heste";
        $result = mysql_query($query) or die("Forespørgslen lykkedes ikke : " . mysql_error());
       
        if(mysql_num_rows($result)>0)
        {
            echo '<ul>';
            while($data = mysql_fetch_assoc($result))
            {
                echo '<li><a href="?frame=2&id=' . $data['horseid'] . '" target="iframe2">'.$data['navn'].'</a></li>';
            }
            echo '</ul>';
        }
        break;
    case 2:
        echo '<h1>iFrame2</h1>';
        if(isset($_GET['id']) && is_numeric($_GET['id']))
        {
            $id = intval($_GET['id']);
            $query = "SELECT * FROM heste WHERE horseid = '".$id."' LIMIT 1";
            $result = mysql_query($query) or die("Forespørgslen lykkedes ikke : " . mysql_error());
            if(mysql_num_rows($result)==1)
            {
                $data = mysql_fetch_assoc($result);
                echo '<pre>';
                print_r($data);
                echo '</pre>';
            }
        }
        break;
    default:
        echo '<table>';
        echo '<tr><td>';
        echo '<iframe name="iframe1" src="?frame=1" width="200" height="200">[Din browser underst?tter ikke iframes.]</iframe>';
        echo '</td></tr>';
        echo '<tr><td>';
        echo '<iframe name="iframe2" src="?frame=2" width="200" height="200">[Din browser underst?tter ikke iframes.]</iframe>';
        echo '</td></tr>';
        echo '</table>';
        echo '<hr />';
        break;
}

?>
Avatar billede kellesen Nybegynder
06. juli 2007 - 13:51 #11
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';'

den her linie:
              echo '<li><a href="?frame=2&id=' . $data['horseid'] . " target="iframe2">'.$data['navn'].'</a></li>';
Avatar billede jakobdo Ekspert
06. juli 2007 - 14:03 #12
Det skal rettes til:

echo '<li><a href="?frame=2&id=' . $data['horseid'] . '" target="iframe2">'.$data['navn'].'</a></li>';
Avatar billede kellesen Nybegynder
06. juli 2007 - 14:10 #13
stadig samme problem..

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in
Avatar billede jakobdo Ekspert
06. juli 2007 - 14:54 #14
Den ændrede ikke det jeg ville.

Linien skal være:
echo '<li><a href="?frame=2&id=' . $data['horseid'] . '" target="iframe2">'.$data['navn'].'</a></li>';
Avatar billede jakobdo Ekspert
06. juli 2007 - 14:55 #15
Det er eksperten der spiser mit '
Der skal placeres en ' lige efter: . $data['horseid'] .  og før "
Avatar billede kellesen Nybegynder
06. juli 2007 - 15:11 #16
kan ikke få det til at passe... gider du maile det til
mail@katrinekieldsen.com

mangler der ikke også et " ?
Avatar billede jakobdo Ekspert
06. juli 2007 - 15:50 #17
Koden blev sendt via email, og så virkede det.
Eksperten har åbenbart problemer med ' efterfulgt af "
Tester lige: <START>'"<SLUT>
Avatar billede jakobdo Ekspert
06. juli 2007 - 15:50 #18
Og så virker det selvfølgelig! :o(
Du får et svar.
Avatar billede kellesen Nybegynder
09. juli 2007 - 12:04 #19
tak for hjælpen :D
Avatar billede jakobdo Ekspert
09. juli 2007 - 13:11 #20
Takker for point.
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