[PHP]2x while ofzo..

Pagina: 1
Acties:

  • FireFoz
  • Registratie: Juni 2001
  • Laatst online: 31-08 23:38
ik heb een tabel met daarin een aantal links[update_title voor de naam, id voor het id, en date voor de datum) die op een bepaalde datum gesubmit zijn.

Nou wil ik dus dat alle links die vandaag gesubmit zijn op beeld komen, en alle links die gisteren gesubmit op beeld komen. De rest niet. Daar tussenin moet nog ff de regel komen te staan dat het van de andere dag is. Ik heb ze in de tabel met time() als datum waarop ze toegevoegd zijn.

Ik heb nu dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
print("<table border='0' cellpadding='0' cellspacing='0' width='100%'>
      <tr>
        <td width='100%'>Links for $date</td>
      </tr>
      <tr><td width='100%'>");


include("dbc_sites2.inc.php");

$time = time ();
$day = 86400;
$yesterday = $time-$day;

print("<tr><td width='100%'>Links for $today</td></tr>");

$time_string = date("n", $time) . "," . date("j", $time) . "," . date("Y", $time);
$time_string2 = date("n", $yesterday) . "," . date("j", $yesterday) . "," . date("Y", $yesterday);

// de timestamp voor 00:00:00 vandaag en gister
$first_today = mktime(0,0,0,$time_string2);
$first_yesterday = mktime(0,0,0,$time_string2);

// de timestamp voor 23:59:59 voor vandaag en gister
$second_today = mktime(23,59,59,$time_string);
$second_yesterday = mktime(23,59,59,$time_string2);

// query
$result = mysql_query("SELECT date, update_title, id FROM updates_extern WHERE date BETWEEN $first_yesterday AND $second_today");

$i=1;
while($data = mysql_fetch_array($result))
{
    $update_title[i] = $data[update_title];
    $id[i] = $data[id];
    $date[i] = $data[date];

    while($date[i] < $second_today AND $date > $first_today)
    {
        print("<a href='updates_extern.php?id=$id[i]' target='_blank'><b>$update_title[i]</b></a><BR>");
        $i++;
    }
}
print("<tr><td width='100%'>Links for $date_yesterday</td></tr><tr><td width='100%'>");



$i=1;
while($data = mysql_fetch_array($result))
{
    $update_title[i] = $data[update_title];
    $id[i] = $data[id];
    $date[i] = $data[date];
    
    while($date < $second_yesterday AND $date > $first_yesterday)
    {
        print("<a href='updates_extern.php?id=$id[i]' target='_blank'><b>$update_title[i]</b></a><BR>");
        $i++;
    }
}
?>
</td></tr>
</table>

Maar dat werkt niet :7

De links van vandaag lukt me wel.. maar dan die van morgen erbij niet. Ik zou het wel kunnen, maar dan met 2 selects en ik wil het juist graag in 1 select doen.

Naja ik kom dr ff niet meer uit en zou het fijn vinden als iemand me ff kon helpen :)

Leef lekker in het nu, er is niks anders


Verwijderd

Op maandag 29 oktober 2001 19:00 schreef FireFoz het volgende:
[edit]verkeerde knop .. ik was nog niet klaar......post zo verder[edit]
While jij even je berichtje afmaakt snuffel ik nog even verder en bekijk ik hem zo ok?

Verwijderd

Op maandag 29 oktober 2001 19:00 schreef FireFoz het volgende:
ik heb een tabel met daarin een aantal links[update_title voor de naam, id voor het id, en date voor de datum) die op een bepaalde datum gesubmit zijn.

Nou wil ik dus dat alle links die vandaag gesubmit zijn op beeld komen, en alle links die gisteren gesubmit op beeld komen. De rest niet. Daar tussenin moet nog ff de regel komen te staan dat het van de andere dag is. Ik heb ze in de tabel met time() als datum waarop ze toegevoegd zijn.

Ik heb nu dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
print("<table border='0' cellpadding='0' cellspacing='0' width='100%'>
      <tr>
        <td width='100%'>Links for $date</td>
      </tr>
      <tr><td width='100%'>");


include("dbc_sites2.inc.php");

$time = time ();
$day = 86400;
$yesterday = $time-$day;

print("<tr><td width='100%'>Links for $today</td></tr>");

$time_string = date("n", $time) . "," . date("j", $time) . "," . date("Y", $time);
$time_string2 = date("n", $yesterday) . "," . date("j", $yesterday) . "," . date("Y", $yesterday);

// de timestamp voor 00:00:00 vandaag en gister
$first_today = mktime(0,0,0,$time_string2);
$first_yesterday = mktime(0,0,0,$time_string2);

// de timestamp voor 23:59:59 voor vandaag en gister
$second_today = mktime(23,59,59,$time_string);
$second_yesterday = mktime(23,59,59,$time_string2);

// query
$result = mysql_query("SELECT date, update_title, id FROM updates_extern WHERE date BETWEEN $first_yesterday AND $second_today");

$i=1;
while($data = mysql_fetch_array($result))
{
    $update_title[i] = $data[update_title];
    $id[i] = $data[id];
    $date[i] = $data[date];

    while($date[i] < $second_today AND $date > $first_today)
    {
        print("<a href='updates_extern.php?id=$id[i]' target='_blank'><b>$update_title[i]</b></a><BR>");
        $i++;
    }
}
print("<tr><td width='100%'>Links for $date_yesterday</td></tr><tr><td width='100%'>");



$i=1;
while($data = mysql_fetch_array($result))
{
    $update_title[i] = $data[update_title];
    $id[i] = $data[id];
    $date[i] = $data[date];
    
    while($date < $second_yesterday AND $date > $first_yesterday)
    {
        print("<a href='updates_extern.php?id=$id[i]' target='_blank'><b>$update_title[i]</b></a><BR>");
        $i++;
    }
}
?>
</td></tr>
</table>

Maar dat werkt niet :7

De links van vandaag lukt me wel.. maar dan die van morgen erbij niet. Ik zou het wel kunnen, maar dan met 2 selects en ik wil het juist graag in 1 select doen.

Naja ik kom dr ff niet meer uit en zou het fijn vinden als iemand me ff kon helpen :)
ummmmm
PHP:
1
2
3
<?
$sql = "SELECT date, update_title, id FROM updates_extern WHERE date BETWEEN $first_yesterday AND $second_today";
?>

en dan 2 keer aanroepen?
PHP:
1
2
3
<?
mysql_query($sql);
?>

Dan heb je één select... of zeg ik nu iets doms?