Avatar billede sim00n Praktikant
17. juni 2004 - 14:04 Der er 9 kommentarer og
1 løsning

news script

Hej.. Jeg har et news script hvor man kan uploade billeder og så viser den dem på forsiden... Men jeg vil gerne have den til at også vise det uploadede billede på siden hvor nyheden står. i oprindelig størrelse og alt det.. Koden som viser billederne på forsiden ser sådan ud:

<?php
include('inc.config.php');
$query = mysql_query("SELECT image FROM artnews") or die(mysql_error());
while ($row = mysql_fetch_assoc($query)) {
    if ($i++ != 0) echo '<div class="hr"></div>';
    echo empty($row['image']) ? '' : '<img src="files/'.$row['image'].'" class="image">';
}
?>

Men når jeg sætter det ind på siden news.display.php så når man går ind på nyheden så viser den alle de billeder der er uploadet..

Kan i skrive koden så den kun viser det billede som er uploadet til nyheden?
Avatar billede dennismp Nybegynder
17. juni 2004 - 14:17 #1
Hvordan ser koden i news.display.php ud?
Avatar billede sim00n Praktikant
17. juni 2004 - 14:18 #2
Sådan her mester :D

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>

<body bgcolor="#C0C0C0" link="#000000" vlink="#000000" alink="#000000">

<?php
include('inc.config.php');
$query = mysql_query("SELECT image FROM artnews") or die(mysql_error());
while ($row = mysql_fetch_assoc($query)) {
    if ($i++ != 0) echo '<div class="hr"></div>';
    echo empty($row['image']) ? '' : '<img src="files/'.$row['image'].'" class="image">';
}
?>

<?php
include('inc.config.php');
$query = mysql_query("SELECT *,DATE_FORMAT(date,'%e/%c-%y %T') AS date FROM artnews WHERE id=".$_GET['id']."");
$row = mysql_fetch_assoc($query);
echo '<h1>'.$row['title'].'</h1>';
echo '<p><b>'.$row['synopsis'].'</b></p>';
echo '<p>'.$row['author'].' - '.$row['date'].'</p>';
echo nl2br($row['text']);
echo '<div class="hr"></div>';

$query = mysql_query("SELECT *,DATE_FORMAT(date,'%e/%c-%y %T') AS date FROM artcomments WHERE parent=".$_GET['id']." ORDER BY id ASC");
if (mysql_num_rows($query) > 0) {
    echo '<h2>Kommentarer</h2>';
    while ($row = mysql_fetch_assoc($query)) {
        echo empty($row['email']) ? htmlspecialchars($row['name']) : '<a href="mailto:'.$row['email'].'">'.htmlspecialchars($row['name']).'</a>';
        echo '&nbsp;('.$row['date'].')<br><br>';
        echo nl2br(htmlspecialchars($row['text']));
        echo '<div class="hr"></div>';
    }
}
?>

<h2>Kommenter artikel</h2>

<form method="post" action="form.handle.php">
<input type="hidden" name="referer" value="comment">
<input type="hidden" name="parent" value="<?php echo $_GET['id']; ?>">

Navn: <input type="text" name="name" style="width: 120px">
Email: <input type="text" name="email" style="width: 120px"><br>
<textarea name="text" rows="7" cols="0" style="width: 328px"></textarea><br><br>

<input type="submit" value="Send">
</form>

<div class="hr"></div>
<a href="http://schaefner.dk" class="author">schaefner|dk</a> <a href="index.php">Nyeste</a> | <a href="news.search.php">Søg efter artikel</a> | <a href="admin/">Administration</a>

</body>
</html>
Avatar billede sim00n Praktikant
17. juni 2004 - 14:19 #3
Altså koden

<?php
include('inc.config.php');
$query = mysql_query("SELECT image FROM artnews") or die(mysql_error());
while ($row = mysql_fetch_assoc($query)) {
    if ($i++ != 0) echo '<div class="hr"></div>';
    echo empty($row['image']) ? '' : '<img src="files/'.$row['image" class="image">';
}
?>

er noget jeg selv har sat ind..
Avatar billede kring Nybegynder
17. juni 2004 - 14:22 #4
Du mangler en kondition i din SELECT-statement. Som det står nu henter du ALLE billeder ud. Du skal have en WHERE-Clause som begrænser de valgte billeder til kun at være dem som tilhører nyheden.
Avatar billede kring Nybegynder
17. juni 2004 - 14:23 #5
Hvordan ser ARTNEWS-tabellen ud? Jeg mener hvilke felter og datatyper har den?
Avatar billede dennismp Nybegynder
17. juni 2004 - 14:29 #6
...
$row = mysql_fetch_assoc($query);
echo '<h1>'.$row['title'].'</h1>';
echo '<p><b>'.$row['synopsis'].'</b></p>';
echo '<p>'.$row['author'].' - '.$row['date'].'</p>';
echo nl2br($row['text']);
echo '<div class="hr"></div>';
/* INDSÆT DENNE LINJE */
echo empty($row['image']) ? '' : '<img src="files/'.$row[ 'image' ]."class="image">';
...
Avatar billede kring Nybegynder
17. juni 2004 - 14:30 #7
Prøv at ændre:

$query = mysql_query("SELECT image FROM artnews") or die(mysql_error());

til:

$query = mysql_query("SELECT image FROM artnews WHERE id=".$_GET['id']."");
Avatar billede sim00n Praktikant
17. juni 2004 - 14:30 #8
Det her er sql filen...

CREATE TABLE comments (
  id int(11) NOT NULL auto_increment,
  name varchar(60) NOT NULL default '',
  email varchar(60) NOT NULL default '',
  date datetime NOT NULL default '0000-00-00 00:00:00',
  text text NOT NULL,
  parent int(11) NOT NULL default '0',
  PRIMARY KEY  (id)
) TYPE=MyISAM;

CREATE TABLE news (
  id int(11) NOT NULL auto_increment,
  title varchar(100) NOT NULL default '',
  author varchar(60) NOT NULL default '',
  date datetime NOT NULL default '0000-00-00 00:00:00',
  synopsis text NOT NULL,
  text text NOT NULL,
  image varchar(100) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
Avatar billede sim00n Praktikant
17. juni 2004 - 14:33 #9
Krings løsning virkede og siden han var den første der fik en til at virke får han point
Avatar billede kring Nybegynder
17. juni 2004 - 14:35 #10
Takker for points :)
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