Gå til innhold

design av artikkelsystem


Anbefalte innlegg

Heisann.

 

Holder på å lage meg et artikkelsystem og har kjørt meg litt fast på layouten + php\mysql.

 

Har en html-tabell, med to kolonner. Men her vil jeg at siste artikkelen skal ligge på toppen og gå over begge de to kolonnene under. Hvordan gjør jeg den enklest med mysql\php?

 

slike ser phpen ut nå:

<?php
$sporring = "SELECT * FROM anmeldelse WHERE type = 'CD' OR type = 'konsert' ORDER BY id DESC";
$sporring = mysql_query($sporring) or die(mysql_error());

while($rad = mysql_fetch_array($sporring)){

echo "<table border=\"0\" class=\"tabell\" valign=\"top\">";
echo "<td class=\"nyanmeld\"><font class=\"nyanmeld\">Nyeste musikkanmeldelse:</font><br>";
echo "<i>" . $rad['artist'] . " - ". $rad['tittel'] . "</i><br>";
echo "" . $rad['ingress'] . "<br>";
echo "<hr>";
echo "Terningkast: " . $rad['terningkast'] . "<br>";
echo "<a href=\"musikk.php?album=" . $rad['id'] . "\" class=\"inni\">Les mer</a>";
echo "</td>";
}


$sporring = "SELECT * FROM anmeldelse WHERE type = 'kino' OR type = 'dvd' ORDER BY id DESC";
$sporring = mysql_query($sporring) or die(mysql_error());

while($rad = mysql_fetch_array($sporring)){

echo "<table border=\"0\" class=\"tabell\" valign=\"top\">";
echo "<td class=\"nyanmeld\"><font class=\"nyanmeld\">Nyeste musikkanmeldelse:</font><br>";
echo "<i>". $rad['tittel'] . "</i><br>";
echo "" . $rad['ingress'] . "<br>";
echo "<hr>";
echo "Terningkast: " . $rad['terningkast'] . "<br>";
echo "<a href=\"film.php?album=" . $rad['id'] . "\" class=\"inni\">Les mer</a>";
echo "</td>";
}
?>

Lenke til kommentar
Videoannonse
Annonse

For det første så skjønte jeg ikke hva du mente med "artikkelen skal ligge på toppen og gå over begge de to kolonnene under." Du må nok forklare det litt bedre, hvertfall for meg.

 

Og for det andre, er det en grunn til at du bruker akkurat <hr> for å dele opp, og ikke <tr>?

Lenke til kommentar

Med enkleste form for html gjør du det slik:

 

<table>
<tr> <td colspan="2"> 1. artikkel </td> </tr>
<tr> <td> 2. artikkel </td> <td> 3. artikkel </td> </tr>
<tr> <td> 4. artikkel </td> <td> 5. artikkel </td> </tr>
<tr> <td> 6. artikkel </td> <td> 7. artikkel </td> </tr>
</table>

 

I koden kan du bruke en teller for å vite når du skal bruke colspan=2 (bare første artikkel) og når du skal ha en ny rad (tr) i tabellen (annenhver artikkel etter den første)

 

Det ser ut til at du bruker to tabeller i skriptet du postet, kan være kjekt å se på hvordan html-koden ser ut når du kjører skriptet. Det kan også være lurt å lage tabellen først bare i html slik at du er sikker på at du nailer layouten der før du krøller det til med kode :)

Endret av footnote
Lenke til kommentar

coldice: fikk det til nå. er nok veldig tungvindt. muligens noen her inne klarer å forenkle det endel :)

 

<table border="0">
<?php 
$sporring = "SELECT * FROM artikler ORDER BY id DESC LIMIT 1";
$resultat = mysql_query($sporring);

while($rad = mysql_fetch_array($resultat))
{
echo "<tr ><td><center><img src=\"bilder/".$rad['type']."/".$rad['filnavn']."\" height=\"100\"></center></td><td colspan=\"3\"><center>\n";
if ($rad['type'] === "musikk"){
 echo "<font class=\"nymusikk\">".$rad['overskrift']."</font><br>\n";
}
elseif ($rad['type'] === "film"){
 echo "<font class=\"nyfilm\">".$rad['overskrift']."</font><br>\n";
}
elseif ($rad['type'] === "artikel"){
 echo "<font class=\"nyartikel\">".$rad['overskrift']."</font><br>\n";
}
echo "<br><i>".$rad['ingress']."<i><br>\n";
if ($rad['type'] === "musikk"){
 echo "<a href=\"musikk.php?id=".$rad['id']."\">Les mer</a><br>\n";
}
elseif ($rad['type'] === "film"){
 echo "<a href=\"film.php?id=".$rad['id']."\">Les mer</a><br>\n";
}
elseif ($rad['type'] === "artikel"){
 echo "<a href=\"artikkel.php?id=".$rad['id']."\">Les mer</a><br>\n";
}
echo "</center></td></tr>\n";
}

echo "<tr><td colspan=\"4\"><hr></td></tr>\n\n\n";

$sporring = "SELECT * FROM artikler ORDER BY id DESC LIMIT 1,7";
$resultat = mysql_query($sporring);

$my_val=1; 

while($rad = mysql_fetch_array($resultat)){

if($my_val == $my_val%2 ){
echo "<tr>\n";
}
echo "<td><img src=\"bilder/".$rad['type']."/".$rad['filnavn']."\" height=\"100\"></td><td>\n";
if ($rad['type'] === "musikk"){
 echo "<font class=\"nymusikk\">".$rad['overskrift']."</font><br>\n";
}
elseif ($rad['type'] === "film"){
 echo "<font class=\"nyfilm\">".$rad['overskrift']."</font><br>\n";
}
elseif ($rad['type'] === "artikel"){
 echo "<font class=\"nyartikel\">".$rad['overskrift']."</font><br>\n";
}
echo "<br><i>".$rad['ingress']."<i><br>\n";
if ($rad['type'] === "musikk"){
 echo "<a href=\"musikk.php?id=".$rad['id']."\">Les mer</a><br>\n";
}
elseif ($rad['type'] === "film"){
 echo "<a href=\"film.php?id=".$rad['id']."\">Les mer</a><br>\n";
}
elseif ($rad['type'] === "artikel"){
 echo "<a href=\"artikkel.php?id=".$rad['id']."\">Les mer</a><br>\n";
}
echo "</td>\n\n";

if($my_val !== $my_val%2 ){
echo "</tr>\n";
}
++$my_val;
}

?>

</table>

Lenke til kommentar

Bestem deg om det skal være artikkel eller artikel så kan du gjøre mye mer dynamisk. Her er et eksempel:

  echo "<font class=\"ny{$rad['type']}\">".$rad['overskrift']."</font><br>\n";
echo "<br><i>".$rad['ingress']."<i><br>\n";
 echo "<a href=\"{$rad['type']}.php?id=".$rad['id']."\">Les mer</a><br>\n";

 

Jeg vet ikke hvordan resten av systemet ditt er bygd opp og om du validerer infoen som blir lagt inn i databasen, men det bør du passe på. Du bør også sjekke om fila eksisterer når du bruker en dynamisk måte (sjekk [email protected]), på les mer lenken.

 

Hvis det er bare de tre typene som eksisterer kan du slenge øverst på kodeeksempelet/kodeveiledningen:

 

if( in_array( $rad['type'], array('musikk', 'film', 'artikkel')){
//koden over
}

 

Og som vanlig er koden allitd tatt rett ut fra hode på håpløse tidspunkter, så forbehold om feil :)

 

Lykke til!

Endret av Zic0
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...