Avatar billede danino Nybegynder
12. december 2003 - 15:47 Der er 10 kommentarer og
1 løsning

Arrangering af MySQL udtræk

ARGH!!! ahem... Men nu har jeg siddet og gloet på dette problem i lang lang tid, og er vist gået helt kold!
Problemet er at jeg ikke kan finde ud af hvordan jeg arrangerer mit db-udtræk, så det ser ud, som jeg gerne vil have det.
Jeg har følgende kode:

include ("../mysql.php");
$now=mktime();
$afsluttet=mysql_query("select * from Events order by dato desc");
while($liste=mysql_fetch_object($afsluttet))
{
    $dato = $liste->dato;
    list($d,$m,$y) = explode('-',$dato);
    $eventtid = mktime(20, 0 , 0 , $m , $d , $y);
    echo "<tr>\n
    <td width=\"45%\" align=\"left\">";
    if($now <= $eventtid)
    {
        echo "<a href=\"eventshow.php?id=" . $liste->id . "\">" . $liste->titel . "</a></td>\n";
    }
    else
    {
        echo "</td><td width=\"55%\" align=\"left\"></td>\n";
        echo "<a href=\"eventshow.php?id=" . $liste->id . "\">" . $liste->titel . "</a></td>\n</tr>\n";
    }
}
Nå, men jeg vil gerne have det således:

Et event,som ikke er foregået    Et event, som er foregået
Et event,som ikke er foregået    Et event, som er foregået
Et event,som ikke er foregået    Et event, som er foregået
Et event,som ikke er foregået    Et event, som er foregået
                                  Et event, som er foregået
                                  Et event, som er foregået
                                  Et event, som er foregået
                                  Et event, som er foregået
                                  Et event, som er foregået
                                  Et event, som er foregået
                                  Et event, som er foregået

Håber det giver mening, eller spørg endelig!
Avatar billede danino Nybegynder
12. december 2003 - 15:48 #1
Hov, den skubbede det, da jeg indsatte hvordan det skulle se ud...

Men altså i to kolonner (inde i en tabel), hvor de event, som ikke er foregået endnu står til venstre, og dem der er overstået, er til højre.
Avatar billede detox Nybegynder
12. december 2003 - 16:16 #2
Prøv:

include ("../mysql.php");
$now=mktime();
echo "<table>\n";
$afsluttet=mysql_query("select * from Events order by dato desc");
while($liste=mysql_fetch_object($afsluttet))
{
    $dato = $liste->dato;
    list($d,$m,$y) = explode('-',$dato);
    $eventtid = mktime(20, 0 , 0 , $m , $d , $y);
    echo "<tr>\n
    <td width=\"45%\" align=\"left\">";
    if($now <= $eventtid)
    {
        echo "<a href=\"eventshow.php?id=" . $liste->id . "\">" . $liste->titel . "</a></td>\n";
    }
    else
    {
        echo "</td><td width=\"55%\" align=\"left\">";
        echo "<a href=\"eventshow.php?id=" . $liste->id . "\">" . $liste->titel . "</a></td>\n</tr>\n";
    }
}
echo "</table>\n";
Avatar billede danino Nybegynder
12. december 2003 - 16:28 #3
Den er ved at være der. Jeg bruger nu denne kode (som er din detox, hvor der er rettet lidt i:
include ("../mysql.php");
$now=mktime();
$afsluttet=mysql_query("select * from Events order by dato desc");
while($liste=mysql_fetch_object($afsluttet))
{
    $dato = $liste->dato;
    list($d,$m,$y) = explode('-',$dato);
    $eventtid = mktime(20, 0 , 0 , $m , $d , $y);
    echo "<tr>\n
    <td width=\"45%\" align=\"left\">";
    if($now <= $eventtid)
    {
        echo "<a href=\"eventshow.php?id=" . $liste->id . "\">" . $liste->titel . "</a></td></tr>\n";
    }
    else
    {
        echo "</td><td width=\"55%\" align=\"left\">";
        echo "<a href=\"eventshow.php?id=" . $liste->id . "\">" . $liste->titel . "</a></td>\n</tr>\n";
    }
}
Men den giver følgende:
Et event,som ikke er foregået   
Et event,som ikke er foregået
                                Et event, som er foregået
                                Et event, som er foregået
                                Et event, som er foregået

Så mangler jeg bare at de står på samme linje, hvis du forstår?
Avatar billede detox Nybegynder
12. december 2003 - 16:32 #4
Ja, men det vil jo så kun give mening, hvis der er lige mange af hver.
Avatar billede danino Nybegynder
12. december 2003 - 16:35 #5
Hmm... Det kan jeg godt se... Men kan man ikke lave to forespørgsler, og lægge dem ind i et array hver, og så sige

array1[1]      array2[1]
array1[2]      array2[2]
array1[3]      array2[3]
              array2[4]
              array2[5]
              array2[6]
for så vil array1[4] eksempelvis indehold '' ikke?
Avatar billede danino Nybegynder
12. december 2003 - 16:37 #6
'' = ingenting
Avatar billede detox Nybegynder
12. december 2003 - 16:39 #7
Jo, det må være måden at gøre det på.
Avatar billede danino Nybegynder
12. december 2003 - 16:41 #8
kan du hjælpe mig med det? jeg er ikke så ferm til arrays og deres syntax... (LÆS: for doven til lige at sætte mig ind i det nu)

Du (eller andre) kan godt få lidt flere points, hvis det er det....
Avatar billede detox Nybegynder
12. december 2003 - 17:11 #9
Måske i den her stil:

<?
include ("../mysql.php");
$now=time();
$afsluttet=mysql_query("select * from tb2 order by dato desc");
while($liste=mysql_fetch_object($afsluttet))
{
    $dato = $liste->dato;
    list($d,$m,$y) = explode('-',$dato);
    $eventtid = mktime(20, 0 , 0 , $m , $d , $y);

    if($now >= $eventtid)
    {
        $before['id'][] = $liste->id;
        $before['titel'][] = $liste->titel;
    }
    else
    {
        $after['id'][] = $liste->id;
        $after['titel'][] = $liste->titel;
    }
}
$antal = max(count($before['id']), count($after['id']));
echo "<table>\n";
for ($i=0;$i<$antal;$i++) {
        echo "<tr>\n
            <td width=\"45%\" align=\"left\">";
        echo "<a href=\"eventshow.php?id=" . $before['id'][$i] . "\">" . $before['titel'][$i] . "</a></td>\n";
        echo "<td width=\"55%\" align=\"left\">";
        echo "<a href=\"eventshow.php?id=" . $after['id'][$i] . "\">" . $after['titel'][$i] . "</a></td>\n</tr>\n";
}
echo "</table>";
?>
Avatar billede danino Nybegynder
12. december 2003 - 17:25 #10
Det virker sikkert... Men jeg har lavet det selv, så det virker... Du skal selvfølgelig have dine points alligevel, så hvis du laver et svar...
Avatar billede detox Nybegynder
12. december 2003 - 17:31 #11
Ok da ;o)
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