Gå til innhold

Forme nyheter: 1 på toppen og 2 under? Løst =)


Anbefalte innlegg

Skrevet

Men det store spørsmålet:

Forstår du egentlig noe av det som er gjort det?

 

Også må du selvfølgelig lage en passende CSS til. Og helst ikke midt inni PHP-koden. Du kan bruke de fine klassene som jeg har skrevet inn allerede.

Videoannonse
Annonse
Skrevet (endret)

Ja, jeg skjønner hva du gjør og sånn.. Kan til og med alle de kodene jeg "trenger" i hodet (insert, select, update osv).

 

Edit: nå er sida oppe igjen, så nå kan jeg teste ut scriptet ditt :)

 

Edit 2: Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/hotserv.dk/users/andersmoen/cms/test/body.php on line 9

 

Nå har jeg den samme tabellen som på hovedsida som det ligger 4 nyheter i..

Endret av Andy-Pandy
Skrevet (endret)

Hvorfor lage ny tråd når denne tråden er om den koden?

Edit: koden ;)

<div id="content">

<?php

include "config/db.php"; // koble til

$get_news = mysql_query('SELECT * FROM $tbl_news ORDER BY id DESC');

$first_news = mysql_fetch_assoc($get_news);
  echo "<div class='first_news'>
          <h3><a href='news.php?id={$first_news['id']}'>{$first_news['title']}</a></h3>
          <p class='date'>{$first_news['dato']}</p>
          <p>{$first_news['body']}</p>
          <p class='read_more'><a href='news.php?id={$first_news['id']}'>Read more</a></p>
      </div>";

while ($news = mysql_fetch_assoc($get_news)) {
  echo  "
      <div class='newswrapper'>
          <div class='news'>
              <h3><a href='news.php?id={$news['id']}'>{$news['title']}</a></h3>
              <p class='date'>{$news['dato']}</p>
              <p>{$news['body']}</p>
              <p class='read_more'><a href='news.php?id={$news['id']}'>Read more</a></p>
          </div>";
  
  $news = mysql_fetch_assoc($get_news);
  echo  "
          <div class='news'>
              <h3><a href='news.php?id={$news['id']}'>{$news['title']}</a></h3>
              <p class='date'>{$news['dato']}</p>
              <p>{$news['body']}</p>
              <p class='read_more'><a href='news.php?id={$news['id']}'>Read more</a></p>
          </div>
      </div>";
}
?>



</div>

Endret av Andy-Pandy
Skrevet

Jeg ville gjort noe slikt :)

 

PHP

$news = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 20");

$first_news = 0;

 

while($array = mysql_fetch_assoc($news))

{

if($first_news == 0)

{

//skrive ut den første nyheten her :)

$first_news++;

}

else

{

//skrive ut resten av nyhetene her ;P

}

 

}

Skrevet

<div id="content">
<?php

include "config/db.php"; // mysql_connect

$news = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 20");
$first_news = 0;

while($array = mysql_fetch_assoc($news))
{
if($first_news == 0)
{
echo stripslashes($row['title']);
 $first_news++;
}
else
{
echo stripslashes($row['title']);
}

}
?>
</div>

 

 

Printer ikke ut noe =/

Skrevet (endret)

Å ja...jeg har aldri hørt om mysql_fetch_assoc før...hva skriver jeg i stedet for da?

 

* Leser på php.net *

 

Edit: fant det ut :)

Tenkt ikke på å bruke echo stripslashes($array['title']); i stedet for echo stripslashes($row['title']); :p

 

Resultetat er her :) hehe

Endret av Andy-Pandy
Skrevet
Edit: fant det ut :)

Tenkt ikke på å bruke echo stripslashes($array['title']); i stedet for echo stripslashes($row['title']); :p

8210364[/snapback]

Det var jo akkurat det jeg skrev i posten min, jo.

Skrevet
Edit: fant det ut :)

Tenkt ikke på å bruke echo stripslashes($array['title']); i stedet for echo stripslashes($row['title']); :p

8210364[/snapback]

Det var jo akkurat det jeg skrev i posten min, jo.

8210517[/snapback]

Ja, jeg vet, men jeg tenkte ikke over det :whistle:

Skrevet
Hva er det trådstarter egentlig trenger hjelp til?

8211632[/snapback]

Etter det jeg har forstått, har han funnet løsningen på problemet.

Skrevet

Huff, dette var triste saker.

Først og fremst burde ikke inndelingen skje med PHP, men med CSS. Dessverre KAN dette være litt kronglete med tanke på dagens støtte av CSS i de forskjellige browserene. (dvs. child selector som velger kun første child), men å sjekke om det er første element i loopen er jo helt tragisk.

Mye bedre å hente ut første element FØR loopen, og deretter loope over resten. (slik som enkelte har foreslått.)

Skrevet

Heisann!

 

Dette var da så svært mange unødvendige koder dere postet da..

 

Se her, denne gjør det du vil:

<?php
for($x = 1; $row = mysql_fetch_array($sql); $x ++) {
list($title, $content) = $row;

if($x == 1) {
 echo "100% WIDTH";
} else {
 echo "50% WIDTH, WITH FLOAT LEFT!"
}
}
?>

 

Lykke til!

Skrevet
*snip*

8219336[/snapback]

Dette er et dårlig forslag ettersom man lett kunne hentet ut først innlegg utenfor loopen slik som mange har forslått over.

Skrevet

Hvorfor gjøre det så komplisert.. Enkelt = Best

La oss si at du ønsker 1 stor nyhet, 4 små og så 2 store

 

<?php
// 1- Innstillinger
$storNyhet = array(1,6,7); // Artikkel 1, 6 og 7 blir "stor"
$litenNyhet = array(2,3,4,5); // Arikkel 2, 3, 4 og 5 blir "små"
// 1 - Kjøre query
$query = mysql_query("SELECT title,snippet,article FROM news ORDER BY date");
// 2 - Print ut resultat
while($r = mysql_fetch_array($query))
{
$i++;
if(in_array($i, $storNyhet))
 {
   echo "<div class=\"stor\"><!-- ARTIKKEL HER --></div>\n";
  }
else if(in_array($i, $litenNyhet))
 {
   echo "<div class=\"liten\"><!-- ARTIKKEL HER --></div>\n";
 }
else 
{
  echo "<div class=\"normal\"><!-- ARTIKKEL HER --></div>\n";
}
}
?>

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...