Avatar billede hansen24aar Nybegynder
21. september 2005 - 00:23 Der er 22 kommentarer og
1 løsning

Headlines udtræk som link

Jeg skal have lavet en database til nyheder hvor at min headline/overskrift skal kunne trækkes ud og blive til et link. Men det er kun de 5 nyeste overskrifter som skal vises hvordan gør jeg det??

samtidig skal det jo laves en tilhørende side som kommer frem som hedder shownyhed.php hvor headline og nyhed gerne skulle være identiske. Hvordan laver jeg det og hvordan skal databasen se ud.

Håber i kan hjælpe med denne lidt mærkelige del. på forhånd tak for hjælpen !! :)
Avatar billede coderdk Praktikant
21. september 2005 - 00:36 #1
Noget i stil med:

// Connect til db
$sql = "
  SELECT
    *
  FROM
    nyheder
  ORDER BY
    dato DESC
  LIMIT 5
  ";
$qh = mysql_query( $sql ) or die ( mysql_error() );
if ( mysql_num_rows( $qh ) > 0 )
{
  while ( $row = mysql_fetch_assoc( $qh ) )
  {
    echo '<a href="vis_nyhed.php?id=' . $row['id'] . '">' . $row['overskrift'] . '</a><br>';
  }
}
else
{
  echo "Ingen nyheder.";
}
Avatar billede coderdk Praktikant
21. september 2005 - 00:38 #2
Ja, vis_nyhed.php er så din shownyhed.php ;) Den skal så se nogenlunde sådan ud:

$id = ( !empty( $_GET['id'] ) ? mysql_real_escape_string( $_GET['id'] ) : 0 );
$sql = sprintf( "
  SELECT
    *
  FROM
    nyheder
  WHERE
    id = '%s'
  "
  ,$id
  );
$qh = mysql_query( $sql ) or die ( mysql_error() );
if ( mysql_num_rows( $qh ) > 0 )
{
  $row = mysql_fetch_assoc( $qh );
  echo "<h1>$row[overskrift]</h1><p>$row[nyhedstekst]</p>";
}
else
{
  echo "Ingen nyhed.";
}
Avatar billede hansen24aar Nybegynder
21. september 2005 - 00:41 #3
hvordan skal databasen se ud kan du fortælle mig det?
Avatar billede coderdk Praktikant
21. september 2005 - 02:25 #4
Sagde du ikke du havde lavet en? Jeg har bare skrevet noget der virkede logisk

nyheder
-------
id int not null auto_increment
overskrift varchar(250) not null
nyhedstekst text not null
primary key (id)
Avatar billede coderdk Praktikant
21. september 2005 - 02:26 #5
Doh:

nyheder
-------
id int not null auto_increment
overskrift varchar(250) not null
nyhedstekst text not null
dato timestamp not null
primary key (id)
Avatar billede hansen24aar Nybegynder
21. september 2005 - 09:19 #6
den viser godt nok linket men når jeg trykker vil den ikke vise resten af siden...
Avatar billede coderdk Praktikant
21. september 2005 - 09:21 #7
Hvis du har fulgt min kode, burde det virke. Så vis noget kode :P
Avatar billede hansen24aar Nybegynder
21. september 2005 - 09:26 #8
linket virker ikke. hvad kan der være galt?
Avatar billede hansen24aar Nybegynder
21. september 2005 - 09:31 #9
dette her er min index.php
<table width="900" height="360" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="120" colspan="4" align="center" bgcolor="#CCCCCC"><h1>Joy Palaze Entertainment</h1></td>
  </tr>
  <tr>
    <td width="200" height="60" valign="top" bgcolor="#CCCCCC">
    <?php
    function dag() {
    $dag =array("Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør");
    echo $dag[date("w", time())];
    }
    function maaned() {
    $maaned =array("Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec");
    echo $maaned[date("n", time())];
    }
    function dato() {
    dag();
    echo " den ";
    echo date("j", time());
    echo ".";
    maaned();
    echo " år ";
    echo date("Y", time());
    }
    dato();
    ?>
    <br>
    <br>
    <?php echo "Klokken er: ";
    echo date("H:i:s", time());S ?>    </td>
    <td colspan="2" rowspan="2" bgcolor="#FFFFFF">&nbsp;</td>
    <td width="150" height="60" valign="top" bgcolor="#CCCCCC"><b>Antal Profiler: <?php
    mysql_connect(localhost, hansen, patricia);
    mysql_select_db(test);
   
    $query = mysql_query("SELECT COUNT(*) AS antal FROM brugere");
$row = mysql_fetch_assoc( $query );
echo $row['antal'];
    ?></b><br>
      <br>
    <b>Debat Inlag ialt: <?php
    mysql_connect(localhost, hansen, patricia);
    mysql_select_db(test);
   
    $query = mysql_query("SELECT COUNT(*) AS antal FROM brugere");
$row = mysql_fetch_assoc( $query );
echo $row['antal'];
    ?></b></td>
  </tr>
  <tr>
    <td width="200" height="400" bgcolor="#CCCCCC"><fieldset>
    <legend>Hovedmenu</legend>
    Forside<br>
    <a href="./inc/login.php">Login</a><br>
    Opret Burger<br>
    Forum<br><br>
    Jokes<br>
    Sjov<br>
    Downloads<br>
    <br>
    <a href="./inc/feedback.php">Feedback</a>
    </fieldset>
    <p>
    <fieldset>
    <legend>Service</legend>
    Beskadige links<br>
    Ønsker til indhold<br>
    Kontak Webmaster<br>
    Admin Login<br>
    </fieldset></td>
    <td width="240" height="400" align="center" bgcolor="#CCCCCC"><fieldset>
    <legend>Nyheder</legend>
    <?php
    mysql_connect(localhost, hansen, patricia) or die(mysql_error());
    mysql_select_db(test) or die(mysql_error());
 
$sql = "
  SELECT
    *
  FROM
    nyheder
  ORDER BY
    dato DESC
  LIMIT 5
  ";
$qh = mysql_query( $sql ) or die ( mysql_error() );
if ( mysql_num_rows( $qh ) > 0 )
{
  while ( $row = mysql_fetch_assoc( $qh ) )
  {
    echo '<a href="./inc/vis_nyhed.php?id=' . $row['id'] . '">' . $row['overskrift'] . '</a><br>';
  }
}
else
{
  echo "Ingen nyheder.";
}
    ?>
    </fieldset>
    <br>
    <br>
    <fieldset>
    <legend>Opdateringer</legend>
    </fieldset>
    <br />
    <br />
    <fieldset>
    <legend>Sponsore</legend>
    </fieldset></td>
  </tr>
 
  <tr>
    <td height="60" colspan="4" align="center" bgcolor="#CCCCCC"><h5><font face="Book Antiqua, Bookman Old Style, Comic Sans MS, Haettenschweiler"><b><i>Joy Palaze Entertainmen<br>&copy;opyright & &reg;egistration year 2005</i></b></font></h5></td>
  </tr>
</table>
-------------------------------------------------------------------------------------
her kommer så visnyhed.php

<table width="900" height="360" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="120" colspan="4" align="center" bgcolor="#CCCCCC"><h1>Joy Palaze Entertainment</h1></td>
  </tr>
  <tr>
    <td width="200" height="60" valign="top" bgcolor="#CCCCCC">
    <?php
    function dag() {
    $dag =array("Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør");
    echo $dag[date("w", time())];
    }
    function maaned() {
    $maaned =array("Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec");
    echo $maaned[date("n", time())];
    }
    function dato() {
    dag();
    echo " den ";
    echo date("j", time());
    echo ".";
    maaned();
    echo " år ";
    echo date("Y", time());
    }
    dato();
    ?>
    <br>
    <br>
    <?php echo "Klokken er: ";
    echo date("H:i:s", time());S ?>    </td>
    <td colspan="2" rowspan="2" valign="top" bgcolor="#FFFFFF">
    <?php $id = ( !empty( $_GET['id'] ) ? mysql_real_escape_string( $_GET['id'] ) : 0 );
$sql = sprintf( "
  SELECT
    *
  FROM
    nyheder
  WHERE
    id = '%s'
  "
  ,$id
  );
$qh = mysql_query( $sql ) or die ( mysql_error() );
if ( mysql_num_rows( $qh ) > 0 )
{
  $row = mysql_fetch_assoc( $qh );
  echo "<h1>$row[overskrift]</h1><p>$row[indhold]</p>";
}
else
{
  echo "Ingen nyhed.";
}
?>
    </td>
    <td width="150" height="60" valign="top" bgcolor="#CCCCCC"><b>Antal Profiler: <?php
    mysql_connect(localhost, hansen, patricia);
    mysql_select_db(test);
   
    $query = mysql_query("SELECT COUNT(*) AS antal FROM brugere");
$row = mysql_fetch_assoc( $query );
echo $row['antal'];
    ?></b><br>
      <br>
    <b>Debat Inlag ialt: <?php
    mysql_connect(localhost, hansen, patricia);
    mysql_select_db(test);
   
    $query = mysql_query("SELECT COUNT(*) AS antal FROM brugere");
$row = mysql_fetch_assoc( $query );
echo $row['antal'];
    ?></b></td>
  </tr>
  <tr>
    <td width="200" height="400" bgcolor="#CCCCCC"><fieldset>
    <legend>Hovedmenu</legend>
    <a href="../index.php">Forside</a><br>
    <a href="login.php">Login</a><br>
    Opret Burger<br>
    Forum<br><br>
    Jokes<br>
    Sjov<br>
    Downloads<br>
    <br>
    Feedback
    </fieldset>
    <p>
    <fieldset>
    <legend>Servise</legend>
    Beskadige links<br>
    Ønsker til indhold<br>
    Kontak Webmaster<br>
    Admin Login
    </fieldset></td>
    <td width="240" height="400" align="center" bgcolor="#CCCCCC"><fieldset>
    <legend>Nyheder</legend>
    <?php
    mysql_connect(localhost, hansen, patricia) or die(mysql_error());
    mysql_select_db(test) or die(mysql_error());
  SELECT
    *
  FROM
    nyheder
  ORDER BY
    dato DESC
  LIMIT 5
 
$qh = mysql_query( $sql ) or die ( mysql_error() );
if ( mysql_num_rows( $qh ) > 0 )
{
  while ( $row = mysql_fetch_assoc( $qh ) )
  {
    echo '<a href="/visnyhed.php?id=' . $row['id'] . '">' . $row['overskrift'] . '</a><br>';
  }
}
else
{
  echo "Ingen nyheder.";
}
    ?>
    </fieldset>
    <br>
    <br>
    <fieldset>
    <legend>Opdateringer</legend>
    </fieldset>
    <br />
    <br />
    <fieldset>
    <legend>Sponsore</legend>
    </fieldset></td>
  </tr>
 
  <tr>
    <td height="60" colspan="4" align="center" bgcolor="#CCCCCC"><h5><font face="Book Antiqua, Bookman Old Style, Comic Sans MS, Haettenschweiler"><b><i>Joy Palaze Entertainmen<br>&copy;opyright & &reg;egistration year 2005</i></b></font></h5></td>
  </tr>
</table>
-------------------------------------------------------------------------------------

Kan du se om jeg skulle have laven en fejl ved nyheds visningen og alt det der. resten virker nemlig godt nok
Avatar billede coderdk Praktikant
21. september 2005 - 09:36 #10
Du linker til /inc/vis_nyhed.php, men du skriver at filen hedder visnyhed.php?
Og i den linker du til /visnyhed.php

Skriver den "Ingen nyhed"?
Avatar billede hansen24aar Nybegynder
21. september 2005 - 09:42 #11
nej den skriver siden kunne ikke vises når jeg går ind for at læse min nyhed
Avatar billede coderdk Praktikant
21. september 2005 - 09:47 #12
Ja, har du skrevet filnavn korrekt, du bruger både /inc/vis_nyhed.php og /visnyhed.php så vidt jeg kan se :P
Avatar billede hansen24aar Nybegynder
21. september 2005 - 09:55 #13
ja men hvad er problemet så der gør at den ikke kan vises??
Avatar billede hansen24aar Nybegynder
21. september 2005 - 11:11 #14
nu fik jeg det næsten til at virke. men har dog lige et problem. når visnyhed.php kommer frem skriver den - No Database selected

du kan lige prøve at kigge inde på siden. adressen er

http://80.163.22.100/joy-palaze

håber du kan hjælpe mig der.
Avatar billede coderdk Praktikant
21. september 2005 - 13:03 #15
Flyt

    mysql_connect(localhost, hansen, patricia);
    mysql_select_db(test);

op over mysql_query
Avatar billede hansen24aar Nybegynder
21. september 2005 - 13:17 #16
Det er i denne del den siger der er en fejl...

<?php
    mysql_connect(localhost, hansen, patricia) or die(mysql_error());
    mysql_select_db(test) or die(mysql_error());
  $sql ="
  SELECT
    *
  FROM
    nyheder
  ORDER BY
    dato DESC
  LIMIT 5
  ";
$qh = mysql_query( $sql ) or die ( mysql_error() );
if ( mysql_num_rows( $qh ) > 0 )
{
  while ( $row = mysql_fetch_assoc( $qh ) )
  {
    echo '<a href="/visnyhed.php?id=' . $row['id'] . '">' . $row['overskrift'] . '</a><br>';
  }
}
else
{
  echo "Ingen nyheder.";
}
    ?>
Avatar billede coderdk Praktikant
21. september 2005 - 13:19 #17
Nej, det er længere oppe:

    <?php echo "Klokken er: ";
    echo date("H:i:s", time());S ?>    </td>
    <td colspan="2" rowspan="2" valign="top" bgcolor="#FFFFFF">
    <?php $id = ( !empty( $_GET['id'] ) ? mysql_real_escape_string( $_GET['id'] ) : 0 );
$sql = sprintf( "
  SELECT
    *
...


Der mangler mysql_connect etc...
Avatar billede hansen24aar Nybegynder
21. september 2005 - 13:22 #18
skal der være et opkald til database der også?
Avatar billede coderdk Praktikant
21. september 2005 - 13:23 #19
Der kommer da noget SQL der også ;P
Avatar billede hansen24aar Nybegynder
21. september 2005 - 13:24 #20
Tak for hjælpen nu virker den :)

nu skal jeg bare finde ud af at give dig dine point...

jeg kommer nok med flere spørgsmål som du måske kan hjælpe mig med :)
Avatar billede coderdk Praktikant
21. september 2005 - 13:26 #21
Så skal jeg vist svare først ;)
Avatar billede hansen24aar Nybegynder
21. september 2005 - 13:29 #22
har du fået pointene
Avatar billede coderdk Praktikant
21. september 2005 - 14:02 #23
Yeps, mange tak :) Du skriver bare her, hvis der kommer noget i denne forbindelse - Så skal jeg forsøge at svare ;)
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