Avatar billede holm76 Nybegynder
01. august 2005 - 21:52 Der er 5 kommentarer

Er igang med et nyhedsscript..

.. men mangler 2 ting som jeg nu har set mig blind på..

1 hvordan for jeg vist hele nyheden, har en oversigt og når man klikker på læs mere hvordan ser man den så?

Kan forestille mig at jeg skal lave en ny side med en tabel der viser de ting jeg vil have med og at jeg så linker dertil, men det skal php jo gerne gære og det er vel ud fra nyhedsnummeret?

her er min vis_nyhed(som er oversigten)
<?php
    mysql_connect('localhost', 'root', '');
  mysql_select_db('hv04');
      $resultat = mysql_query("SELECT titel, kortnyt, forfatter, dato, billede FROM nyheder ORDER BY nyhedsnummer DESC LIMIT 0,10") OR DIE(MYSQL_ERROR());
      while($post = mysql_fetch_array($resultat)){ 
      $dato=time()
?>
<table width="100%"  border="1">
      <tr>
      <td><a href="<?php echo $post[nyhedsnummer];?>"><?php echo $post[titel];?></a></td>
      </tr>
  <tr>
    <td><?php echo $post[kortnyt];?></td>
  </tr>
  <tr>
    <td><?php echo $post[forfatter];?></td>
  </tr>
  <tr>
  <td><?php echo $post[dato];?></td>
  </tr>
</table>
<?php
    }
?>

Nr. 2 er hvordan insætter jeg en dato og tid for hvornår den er skrevet?

skriv_nyhed.php
<script language="javascript" type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
    mode : "textareas"
});
</script>
Indtast nyheden her:
<form method='post' action='?id=nyhed&page=tilfoej'>
<table width="50%"  border="0">
  <tr>
    <td>Titel:</td>
    <td><input type='text' name='titel' /></td>
  </tr>
  <tr>
    <td>Kort nyt:</td>
    <td><textarea name='kortnyt' cols="50" rows="10"></textarea></td>
  </tr>
  <tr>
    <td>Nyhed:</td>
    <td><textarea name='nyhed' cols="50" rows="10"></textarea></td>
  </tr>
  <tr>
    <td>Forfatter:</td>
    <td><input type='text' name='forfatter' /></td>
  </tr>
  <tr>
    <td>Kategori</td>
    <td><select name='kategori'>
    <option>division</option>
    <option>jyllandserie</option>
    <option>serie3</option>
    <option>junior1</option>
    <option>junior2</option>
    <option>klubnyt</option>
    <option>oldgirlsh</option>
    <option>oldgirlsv</option>
    </select></td>
  </tr>
  <tr>
    <td>Dato</td>
    <td><input type='text' name='dato' /></td>
  </tr>
  <tr>
    <td><input type='submit' value='Tilføj' /></td>
    <td>&nbsp;</td>
  </tr>
</table>
</form>

og den der tilføjer nyheden i DB
Nyheden <? echo $_POST[titel]; ?> er tilføjet.
<?
if(isset($_POST[titel]) &&
    isset($_POST[kortnyt]) &&
    isset($_POST[nyhed]) &&
    isset($_POST[forfatter]) &&
    isset($_POST[kategori]) &&
    isset($_POST[dato])){
    mysql_connect('localhost', 'root', '');
    mysql_select_db('hv04');
    mysql_query(
        "INSERT INTO nyheder" .
        "(titel, kortnyt, nyhed, forfatter, kategori, dato) " .
        "VALUES ('$_POST[titel]', '$_POST[kortnyt]', " .
        "'$_POST[nyhed]', '$_POST[forfatter]', " .
        "'$_POST[kategori]', '$_POST[dato]')");
    }
?>
<br>
<br>
<br>
<a href="vis_nyhed1.php">tjek her</a>

Nogen der kan hjælpe her?
Avatar billede jakobdo Ekspert
02. august 2005 - 08:37 #1
1: Du kan lave en php side som f.eks. hedder laes.php
Den kalder du så på følgende måde: laes.php?id=12
(jeg antager du har en nyhed som har id 12 i din database)
Så laver du "bare" en SQL som henter NYHED nummer 12 ud af dataasen.

2: mysql_query(
        "INSERT INTO nyheder" .
        "(titel, kortnyt, nyhed, forfatter, kategori, dato) " .
        "VALUES ('$_POST[titel]', '$_POST[kortnyt]', " .
        "'$_POST[nyhed]', '$_POST[forfatter]', " .
        "'$_POST[kategori]', '$_POST[dato]')");

Kan du rette til:

mysql_query(
        "INSERT INTO nyheder" .
        "(titel, kortnyt, nyhed, forfatter, kategori, dato) " .
        "VALUES ('$_POST[titel]', '$_POST[kortnyt]', " .
        "'$_POST[nyhed]', '$_POST[forfatter]', " .
        "'$_POST[kategori]', NOW())");

Jeg har sat NOW() ind i stedet for $_POST[dato] så sætter den automatisk tiden ind nu.
Avatar billede holm76 Nybegynder
03. august 2005 - 20:23 #2
hmm jo er helt med på hvad du mener.. men er lidt blank alligevel

Hvordan kalder jeg den enkelte databasenyhed?

Desuden kan jeg ikke få den til at vise datoen har indsat NOW(), skal jeg ikke kalde den i min oversigt således <?php echo NOW()?>??
Avatar billede jakobdo Ekspert
03. august 2005 - 22:00 #3
now() er en sql funktion!
Du kan f.eks. prøve at lave SELECT now() mener jeg!
Den bør give dig tiden lige nu på din mysql server.
Nyhedsdatabase kaldet kunne være på denne måde:
$query = mysql_query("SELECT * FROM nyheder WHERE id = ".mysql_escape_string($_GET['id'])." LIMIT 1");
og så har du fået nyheden.
Avatar billede holm76 Nybegynder
05. august 2005 - 21:59 #4
Nu virker jeg lidt dum trods alt, men jeg kan da se at jeg har meget at lære endnu, men jeg kan simpelthen ikke få hverken det ene eller andet til at virke nogen der på en eller anden måde kan skære det ud i pap for mig :|
Avatar billede jakobdo Ekspert
05. august 2005 - 22:31 #5
Du laver en side som hedder f.eks. laes.php
på den side laver du:

<?
include("connect.php"); //Dine info for at forbinde til din mysql database.
$query = mysql_query("SELECT * FROM nyheder WHERE id = ".mysql_escape_string($_GET['id'])." LIMIT 1");
if(mysql_num_rows($query)>0)
{
$row = mysql_fetch_assoc($query);
foreach($row as $field)
{
echo $field . "<br>";
}
}
?>

Prøv at test denne...
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