Gå til innhold

Admin-panel hvor man kan legge ut nyheter etc.


Anbefalte innlegg

Jeg har lagd et PHP hvor man kan legge inn forskjellige ting, nyheter i dette tilfellet. Den har `id` auto_increment, title og content.

 

Det jeg da vil er at den siste nyheten skal komme automatisk på toppen (altså hente ut den siste ID'en fra databasen), og så nest siste og til slutt den siste.

Dette skal da flytte på seg ettersom det kommer flere nyheter. F. eks: id 3' på toppen, id 2 under, og til slutt id 1.

Hvis da det kommer en ny nyhet (som vil automatisk få id 4), skal den komme på toppen, id 3 går en ned, id 2 går en ned og id 1 blir borte fra sida. Hvordan i all verden gjør jeg dette? Har et script som henter ut etter id, men da må man skifte tall i PHP koden hver gang det er ny nyhet.

 

 

Før jeg glemmer det; ikke si at jeg skal bruke noe program som Wordpress eller Cutenews, eller noe annet.

Endret av Andy-Pandy
Lenke til kommentar
Videoannonse
Annonse

Det jeg mente i første posten min (som ikke kom med helt), er at den nyeste nyheten skal komme på toppen. Forresten, lager et bilde i Paint :p

 

 

Edit; har fått alle 3 inn nå, men den tredje repeterer seg 2 ganger så sida blir litt ødelagt. Hvis dere går til: http://www.nettsporten.hotserv.dk/index3.php så ser dere selv, at den tredje repeterer seg én gang :S

 

Koden hvis dere trenger å se:

<?php
$con = mysql_connect("***","***","***");
if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }

mysql_select_db("***", $con);

$result = mysql_query("SELECT * FROM news ORDER BY `id` DESC LIMIT 1, 1");

while($row = mysql_fetch_array($result))
 {
 echo " " . $row['title'];
 echo "<br />";
 echo "<br />";
 echo " " . $row['content'];
 echo "<br />";
 echo "<br />";
 echo "<br />";
 }
mysql_close($con);
?>
</div>

<br />
<br />

<div style="width: 300px; float: left;">
<?php
$con = mysql_connect("***","***","***");
if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }

mysql_select_db("***", $con);

$result = mysql_query("SELECT * FROM news ORDER BY `id` DESC LIMIT 2, 2");

while($row = mysql_fetch_array($result))
 {
 echo " " . $row['title'];
 echo "<br />";
 echo "<br />";
 echo " " . $row['content'];
 echo "<br />";
 echo "<br />";
 echo "<br />";
 }
mysql_close($con);
?>

</div>



<div style="width: 30px; height: 100%; float: left;">
 
</div>


<div style="width: 300px; float: left;">
<?php
$con = mysql_connect("***","***","***");
if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }

mysql_select_db("***", $con);

$result = mysql_query("SELECT * FROM news ORDER BY `id` DESC LIMIT 3, 3");

while($row = mysql_fetch_array($result))
 {
 echo " " . $row['title'];
 echo "<br />";
 echo "<br />";
 echo " " . $row['content'];
 echo "<br />";
 echo "<br />";
 echo "<br />";
 }
mysql_close($con);
?>

 

 

Hvis jeg ikke husker feil, så fungerte ikke dette helt bra. Designet må være:

 

| en på toppen1 |

| nyhet2 | nyhet3 |

 

last ned bildet nedenfor for å se bedre :)

nyheter.bmp

Endret av Andy-Pandy
Lenke til kommentar

Tror du har misforstått litt...

 

Prøv denne:


<div style="width: 30px; height: 100%; float: left;">
 
</div>


<div style="width: 300px; float: left;">
<?php
$con = mysql_connect("***","***","***");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("***", $con);

$result = mysql_query("SELECT * FROM news ORDER BY `id` DESC LIMIT 0, 3");


echo "<table>";
$first = true;
while($row = mysql_fetch_array($result))
{
echo "<tr>";
if ($first) {
echo "<td colspan=2>";
$first=false;
}
else {
echo "<td>";
}

echo " " . $row['title'];
echo "<br />";
echo "<br />";
echo " " . $row['content'];
echo "<br />";
echo "<br />";
echo "<br />";
echo "</td></tr>";
}
echo "</table>";
mysql_close($con);
?>

 

Litt usikker på om det vises helt riktig, men det er bare å rette opp med HTML-koden. ;)

Lenke til kommentar

Men sånn egentlig trenger jeg den koden 3 ganger, har prøvd meg fram men får ikke helt til.

Det som er, er at designet skal være sånn design:

 

| 1 |

| 2 | 3 |

 

1 = nyeste nyhet

2 = nest siste

3 = tredje siste

 

 

Har prøvd den koden du ga (bare at jeg forandret litt på tallene, sånn som nyhet 1 er sånn:

$result = mysql_query("SELECT * FROM news ORDER BY `id` DESC LIMIT 0, 1);

 

Nr 2:

$result = mysql_query("SELECT * FROM news ORDER BY `id` DESC LIMIT 1, 2);

 

Nr 3:

$result = mysql_query("SELECT * FROM news ORDER BY `id` DESC LIMIT 2, 3");

 

 

Men det funker ikke helt som det skal :S

Lenke til kommentar

Det blir ikke "lettere" av å kjøre 3 spørringer...

 

Liten feil i koden min, bytt ut det nederste med dette:

echo "<table>";
$i=1;
while($row = mysql_fetch_array($result))
{
echo "<tr>";
if ($i == 1) {
echo "<td colspan=2>";
}
else {
echo "<td>";
}

echo " " . $row['title'];
echo "<br />";
echo "<br />";
echo " " . $row['content'];
echo "<br />";
echo "<br />";
echo "<br />";
echo "</td>";
if ($i == 1 || $i == 3) {
echo "</tr>";
}
$i++;
}
echo "</table>";

 

Den da? ;)

Endret av ZoRaC
Lenke til kommentar

Hva mener du?

 

Scriptet i sin helhet skal se slik ut:

<div style="width: 30px; height: 100%; float: left;">
 
</div>


<div style="width: 300px; float: left;">
<?php
$con = mysql_connect("***","***","***");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("***", $con);

$result = mysql_query("SELECT * FROM news ORDER BY `id` DESC LIMIT 0, 3");


echo "<table>";
$i=1;
while($row = mysql_fetch_array($result))
{
echo "<tr>";
if ($i == 1) {
echo "<td colspan=2>";
}
else {
echo "<td>";
}

echo " " . $row['title'];
echo "<br />";
echo "<br />";
echo " " . $row['content'];
echo "<br />";
echo "<br />";
echo "<br />";
echo "</td>";
if ($i == 1 || $i == 3) {
echo "</tr>";
}
$i++;
}
echo "</table>";
mysql_close($con);
?>

Lenke til kommentar

Men åssen blir koden på <form> når man skal kunne laste opp et bilde (som blir 300px i bredde, og auto etter 300px?

Har funnet noen tutorials på det, men noe av det skjønner jeg ikke så litt vanskelig akkurat da. Vet at dere er flinke til å forklare :)

 

Og så var det bare én ting til:

Når man legger inn en nyhet, skal det komme litt på forside, men en link til "Les hele saken". Men åssen "stopper" jeg for eksempel teksten etter 20 linjer?

Og jeg vil også at det automatisk blir lagd en side, kalt f. eks 1.php (ettersom åssen ID'en er). Med hele designet på vær side. Nesten litt sånn som et forum.

 

Noen som kan hjelpe meg videre med dette?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...