Avatar billede andpek2323 Nybegynder
23. januar 2014 - 01:51 Der er 5 kommentarer og
1 løsning

Vis kun data fra en hvis dato af

Hej. i min database har jeg har et table der hedder artikler, og under den er der bla. en række som hedder dato.
hvis jeg nu godt kunne tænke mig at jeg forst ville have vist mit data efter den dato som står i den række som hedder dato, hvordan gør man så det?, nogle som ved det? :)

select * from artikler where ???????????????
Avatar billede andpek2323 Nybegynder
23. januar 2014 - 03:01 #1
jeg har fået det til og virke med nederstående statment hvis jeg bare skal vise "alm data", men jeg har et star rating system, som jeg gerne først vil have vist efter en hvis dato, og der virker nederstående kode ikke i?

SELECT * FROM artikler WHERE id=1 AND UNIX_TIMESTAMP(`dato`) < UNIX_TIMESTAMP()


koden til mit starrating system ser således ud, når jeg prøver og sætte koden ind i, men det virker ikke? :(

<?php   
include( "settings.php");
connect();
$ids=array(8); 
?>

<script src="jquery.js" type="text/javascript"></script>
<link rel="stylesheet" href="rating.css" />
<script type="text/javascript" src="rating.js"></script>
 

<?php
for($i=0;$i<count($ids);$i++)
    {
        $rating_tableName    = 'artikler';
    $id=$ids[$i];
$q="SELECT Antal_stemmer, Stemmer_sammenlagt FROM $rating_tableName WHERE id=$id AND UNIX_TIMESTAMP(`dato`) < UNIX_TIMESTAMP()";
$r=mysql_query($q);
if(!$r) echo mysql_error();
while($row=mysql_fetch_array($r))
{
    $v=$row['Antal_stemmer'];
    $tv=$row['Stemmer_sammenlagt'];
    $rat=$tv/$v;
   
    }
   
   
    $id=$ids[$i];
echo'<div class="product">
            '.$j.'
            <div id="rating_'.$id.'" class="ratings">';
                for($k=1;$k<16;$k++){
                    if($rat+0.15>$k)$class="star_".$k."  ratings_stars ratings_vote";
                    else $class="star_".$k." ratings_stars ratings_blank";
                    echo '<div class="'.$class.'"></div>';
                    }
                echo' <div class="total_votes"><p class="voted"> Vurdering: <strong>'.@number_format($rat).'</strong>/15 ('.$v. '  Stemme(r) modtaget)
            </div>
        </div></div>';}
?>
Avatar billede jakobdo Ekspert
23. januar 2014 - 08:56 #2
Prøv at beskriv hvordan dine tabeller hænger sammen?

F.eks:

artikler:
id - int
name - varchar
bla - text

noget:
id - int
name - varchar
artikel_id - key -> artikler

osv...
23. januar 2014 - 09:28 #3
Der er flere elementer i din kode jeg ikke rigtigt kan gennemskue.
Især din while løkke undrer mig lidt.  I dit SELECT statement søger du efter et antal artikler.  I while løkken tager du så disse artikler en ad gangen og fylder værdier i variablerne $v, $tv, og $rat.  Men så slutter du while løkken med '}' inden du får brugt værdierne i variablerne til noget.  Det ser ellers ud til, at du skulle have brugt værdierne i dine echo statements længere nede.  Du kunne prøve at flytte den krøllede parantes ned under echo statementene.  Jeg har nedenfor vist din kode med denne krøllede parantes flyttet ned.
Hvis det ikke giver det ønskede resultat, så fortæl ikke, at 'det virker ikke'.  Beskriv i stedet hvilket resultat du ønskede og forventede og hvilket resultat du fik i stedet.  Så er der større chance for at nogen kan hjælpe.

Her er koden, ikke testet:

<?php
for($i=0;$i<count($ids);$i++)
{
    $rating_tableName    = 'artikler';
    $id=$ids[$i];
    $q="SELECT Antal_stemmer, Stemmer_sammenlagt FROM $rating_tableName WHERE id=$id AND UNIX_TIMESTAMP(`dato`) < UNIX_TIMESTAMP()";
    $r=mysql_query($q);
    if(!$r) echo mysql_error();
    while($row=mysql_fetch_array($r))
    {
        $v=$row['Antal_stemmer'];
        $tv=$row['Stemmer_sammenlagt'];
        $rat=$tv/$v;
        $id=$ids[$i];
        echo'<div class="product">'
            .$j
            .'<div id="rating_'
            .$id
            .'" class="ratings">'
        ;
        for($k=1;$k<16;$k++)
        {
            if($rat+0.15>$k) $class="star_".$k."  ratings_stars ratings_vote";
            else $class="star_".$k." ratings_stars ratings_blank";
            echo '<div class="'.$class.'"></div>';
        }
        echo' <div class="total_votes"><p class="voted"> Vurdering: <strong>'.@number_format($rat).'</strong>/15 ('.$v. '  Stemme(r) modtaget)</div></div></div>';
    }
}
?>
Avatar billede andpek2323 Nybegynder
23. januar 2014 - 13:00 #4
hej tak for jeres hurtige tilbagemelding :), til christian din kode virker helt perfekt :), smider du et svar så du kan få dine velfortjente point?.
Avatar billede andpek2323 Nybegynder
23. januar 2014 - 13:01 #5
har for resten et spørgsmål mere du måske kan hjælpe med, hvis nu jeg gerne vil vise en tekst inden den når den givende dato hvor den skal vise star-ratingen, hvordan gør jeg det?
23. januar 2014 - 13:20 #6
Jamen det var godt det virkede.

Dit tillægsspørgsmål forstår jeg ikke helt præcist.  Jeg foreslår, at du afslutter dette spørgsmål, og så opretter du et nyt spørgsmål, hvor du måske kan vise et eksempel på det du nu får udskrevet og så et eksempel på hvad du gerne vil have udskrevet.  Så vil spørgsmålet blive set af alle på Eksperten og ikke kun af mig, og det vil være tydeligt hvad det går ud på.
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