Avatar billede snigeren Nybegynder
26. december 2005 - 16:48 Der er 3 kommentarer og
1 løsning

Hente links fra DB

Hvad gør jeg galt i nedenstående script?

Det er en links side, der henter URLs fra en DB. Det er meningen at den skal hente URL www.something.dk (link) + link beskrivelse (linkDesc) ind på siden og lave en ny række i tabellen for hvert link der bliver hentet

Her er scriptet håber nogen kan hjælpe:

<?php

    // This page will list all of the items
    // from the items table. Each item will have
    // a link to add it to the cart

    include("db.php");
   
    // Get a connection to the database
    $cxn = @ConnectToDb($dbServer, $dbUser, $dbPass, $dbName);
   
   
    $result = mysql_query("SELECT * FROM links ")or die(mysql_error());
    $link = mysql_fetch_array($result);
    ?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Jernbanemaerker</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/styles.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style2 {color: #89744B}
-->
</style>
<script language="javascript" type="text/javascript">
    window.onload = function(){update();setInterval('update()',60000)}
    function update(){
      var d = new Date();
      document.getElementById('minSpan').innerHTML = d.format("hh:uu | \\d. d. mmmm");
    }
  </script>
  <script language="javascript" type="text/javascript" src="roenvingDate.js"></script>
</head>

<body bgcolor="#D8C5A3">
<table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr align="right" valign="top">
    <td width="900" height="143" class="top"><?php include("menu.php"); ?></td>
  </tr>
  <tr>
    <td height="503" valign="top" class="body" bgcolor="#F2E3C8"><table width="100%"  border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="245" height="349" valign="top" class="left">&nbsp;</td>
        <td width="655" align="center" valign="top" class="middle"><p>&nbsp;</p>
          <table width="93%"  border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td align="left" valign="top" class="style2"><h1>Links til andre relevante hjemmesider</h1>
                <p>&nbsp;                </p></td>
            </tr>
            <tr>
            <?php
            while($row = mysql_fetch_array($result))
           
                {

            ?>
              <td align="left" valign="top" class="style2"><p><a href="http://<?php echo $row["link"]; ?>" target="_blank"><?php echo $row["link"]; ?></a></p>
                <p><?php echo $row["linkDesc"]; ?></p></td>
            </tr>
            <tr>
              <td height="15" align="left" valign="middle" class="style2"><img src="gfx/prik.jpg" width="100%" height="1"></td>
            </tr>
            <?php

            }

        ?>
          </table>         
          <p>&nbsp;</p></td>
      </tr>
    </table>
    </td>
  </tr>
</table>
</body>
</html>
Avatar billede nizo Nybegynder
26. december 2005 - 19:02 #1
Hvor er disse variabler defineret;
$dbServer, $dbUser, $dbPass, $dbName?

og hvor har du defineret ConnectToDb() og hvordan ser den ud?
Avatar billede snigeren Nybegynder
26. december 2005 - 20:10 #2
Det er i min db.php

<?php

    // This page contains the connection routine for the
    // database as well as getting the ID of the cart, etc

    $dbServer = "mysql06.cliche.dk";
    $dbUser = "username";
    $dbPass = "password";
    $dbName = "jernbanemaerker_dk";

    function ConnectToDb($server, $user, $pass, $database)
    {
        // Connect to the database and return
        // true/false depending on whether or
        // not a connection could be made.
       
        $s = @mysql_connect($server, $user, $pass);
        $d = @mysql_select_db($database, $s);
       
        if(!$s || !$d)
            return false;
        else
            return true;
    }
   
    function GetCartId()
    {
        // This function will generate an encrypted string and
        // will set it as a cookie using set_cookie. This will
        // also be used as the cookieId field in the cart table
       
        if(isset($_COOKIE["cartId"]))
        {
            return $_COOKIE["cartId"];
        }
        else
        {
            // There is no cookie set. We will set the cookie
            // and return the value of the users session ID
           
            session_start();
            setcookie("cartId", session_id(), time() + ((3600 * 24) * 30));
            return session_id();
        }
    }

?>
Avatar billede Slettet bruger
30. december 2005 - 15:28 #3
En ting, du gør galt er at hente den første række fra resultatet med det samme. Det er linien: $link=mysql_fetch_array($result); Når du gør det, vil den første række i din tabel i databasen ikke komme med ud på siden. Løsning: Slet den linie.

Derudover skal vi bruge en noget bedre fejlbeskrivelse. Hvad sker der? Kommer den med fejlmeddelelser?
Avatar billede snigeren Nybegynder
28. januar 2007 - 15:57 #4
lukker og slukker
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