Gå til innhold

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


Anbefalte innlegg

Videoannonse
Annonse

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
Lenke til kommentar

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
Lenke til kommentar

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

}

 

}

Lenke til kommentar

<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 =/

Lenke til kommentar

Å 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
Lenke til kommentar

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

Lenke til kommentar

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!

Lenke til kommentar

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";
}
}
?>

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å
×
×
  • Opprett ny...