Toon posts:

[php&mysql] loop laten herhalen

Pagina: 1
Acties:

Verwijderd

Topicstarter
hallo

ik ben nogal een n00b in php, maar momenteel ben ik er in geslaagd om een soort van nieuwssysteem te maken. hiervan is het de bedoeling dat alles netjes onder de datum word weergeven; maar het probleem is dat enkel alles van bvb zaterdag 12 maart 2005 getoond word. normaal moet daarboven ook nog zondag 13 maart 2005, etc. kan iemand mij helpen? hier is alvast m'n code:
//nieuwszooi
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
<?php
include("arrayzooi.php");
echo"<br><br>";
$gewoonsel="SELECT * FROM news ORDER BY id DESC";
$gewoonuit=mysql_query($gewoonsel);
$gewoontel=mysql_num_rows($gewoonuit);
if($gewoontel<="30")
{
    $gewoontel2="0";
}else {
    $gewoontel2=$gewoontel-"30";
}
$gewoonsel2="SELECT * FROM news ORDER BY datum DESC,hmm DESC LIMIT $gewoontel2,$gewoontel";
$gewoonuit2=mysql_query($gewoonsel2);
$i="0";
echo"<table>";
    $gewoonfetch=mysql_fetch_array($gewoonuit2, MYSQL_ASSOC);
    $postdate=$gewoonfetch['datum'];
    $datumvandaag =" $dag $dagnum $maand $jaar ";
if($datumvandaag=$postdate) {
    $gewoonfetch=mysql_fetch_array($gewoonuit2, MYSQL_ASSOC);
    $postdate=$gewoonfetch['datum'];
    $datumvandaag =" $dag $dagnum $maand $jaar ";
    echo"<tr><td background=titel.jpg width=600 align=center>headlines van $postdate</td></tr>";
    if ($welkedag=="0") {
    $welkedag="6";
    if ($dagnum="1") {
        $dagnum="31";
        $welkemaand-1;  
        }else {
        $dagnum-1;
        }
    }else {
        $welkedag--;
        if ($dagnum="1") {
            $dagnum="31";
            $welkemaand-1;  
        }else {
            $dagnum-1;
              }
    }
}
echo"</table><table>";
while($i<=$gewoontel)
{
    $gewoonfetch=mysql_fetch_array($gewoonuit2, MYSQL_ASSOC);
    $gewoontitel=$gewoonfetch['title'];
    $gewooncat=$gewoonfetch['cat'];
    $gewoonid=$gewoonfetch['hmm'];
    echo"<tr><td>$gewooncat</td><td><a href=index.php?id=newz&newsid=$gewoonid>$gewoontitel</a></td></tr>";
    $i++;
}
echo"</table>";
?>

//arrayzooi.php
code:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$welkedag = date("w");
$welkemaand = date("n")-1;
$jaar = date("Y");
$dagenarray = array('zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag');
$maandarray = array('januari', 'februari', 'maart', 'april', 'mei,', 'juni', 'juli', 'augustus',
 'september', 'oktober', 'november', 'december');
$dagnum = date("d");
$dag = $dagenarray[$welkedag];
$maand = $maandarray[$welkemaand];
$datumvandaag =" $dag $dagnum $maand $jaar ";
?>

[ Voor 18% gewijzigd door Verwijderd op 20-03-2005 16:16 ]


  • Pastinakel
  • Registratie: December 2000
  • Laatst online: 02-05 22:20

Pastinakel

Zwammen en kwazoedels

Sorry hoor maar ik kom hier geen wijs uit. Geef eerst je variabelen eens normale en vooral logische namen ipv alles "gewoon" te noemen. Verder zou ik php tags gebruiken om het geval leesbaar te maken.

[ Voor 9% gewijzigd door Pastinakel op 20-03-2005 00:57 ]

Ik kan je niet helpen. De frutsel is warrig en niet knopig. Bovendien heb ik maar één kant | Scrobblernakel


  • FTPlus
  • Registratie: Februari 2003
  • Laatst online: 10-11-2024

FTPlus

Pluisje

Voordat je hier je hele code neer pleurt zet zou je eerst zelf even moeten uitzoeken waar het precies misgaat. Hier kom ik helaas geen wijs uit. :)
Ik begrijp dat je niet alle gewenste records terug krijgt? Of worden ze niet goed gesorteerd?

-=Waiz=-


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Dat stukje code wat de gewenste dag selecteert staat niet in een loop, dus het is nogal wiedes dat die maar één keer gemaakt wordt. Als dat tenminste is waar je op doelt, want ik word hier, net als de heren boven me, niet wijs uit. Bovendien heb je voor het formatteren van data een paar leuke functies in PHP, waarom kijk je daar niet eens naar?
http://nl2.php.net/strftime
http://nl2.php.net/setlocale

En getallen hoeven niet tussen quotes:
PHP:
1
$welkedag="6";

moet zijn
PHP:
1
$welkedag = 6;

[ Voor 5% gewijzigd door NMe op 20-03-2005 12:00 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
ik leg even uit:

bij de if-loop ( begin bij regel 20 ) word de postdatum vergeleken met de gewone datum. als dit niet zo is telt hij verder af tot hij komt aan een datum die wel gelijk is. daaronder worden de artikels van die datum weergegeven(zie de while-loop op regel 44). nu is het de bedoeling dat er een soort loop is zodat de hogere data ook herhaald worden; en niet enkel de data van 1 record.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Verwijderd schreef op zondag 20 maart 2005 @ 12:04:
ik leg even uit:

bij de if-loop ( begin bij regel 20 ) word de postdatum vergeleken met de gewone datum. als dit niet zo is telt hij verder af tot hij komt aan een datum die wel gelijk is. daaronder worden de artikels van die datum weergegeven(zie de while-loop op regel 44). nu is het de bedoeling dat er een soort loop is zodat de hogere data ook herhaald worden; en niet enkel de data van 1 record.
Hij telt na regel 20 helemaal nergens af. :o Je hebt maar één loop-constructie voor zover ik kan zien in die lap onduidelijke code, en die begint op regel 44. En daar wordt niets afgeteld.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:27

crisp

Devver

Pixelated

Ik snap het gedoe met de 2 queries bovenin ook al niet. Wat is `hmm` voor een veld? En als je van een query enkel het aantal resultaten wilt weten, waarom gebruik je dan geen COUNT()? En daarbij is de ORDER BY in je 1e query natuurlijk compleet zinloos en maakt de boel alleen maar extra trager.

Ik sluit me dan ook volledig aan bij mijn voorgangers: doe iets aan je naamgeving, want hier is echt niets van te bakken...

Intentionally left blank


  • mocean
  • Registratie: November 2000
  • Laatst online: 30-03 18:32
Dit doe in ieder geval niet wat je wilt:
if($datumvandaag=$postdate) {

ik zou == gebruiken :-)

Koop of verkoop je webshop: ecquisition.com


Verwijderd

Topicstarter
mocean schreef op zondag 20 maart 2005 @ 14:55:
Dit doe in ieder geval niet wat je wilt:
if($datumvandaag=$postdate) {

ik zou == gebruiken :-)
nee, want dan werkt hij zelfs helemaal niet meer :?

Verwijderd

Verwijderd schreef op zondag 20 maart 2005 @ 16:15:
[...]

nee, want dan werkt hij zelfs helemaal niet meer :?
ROTFLMAO!

  • mocean
  • Registratie: November 2000
  • Laatst online: 30-03 18:32
:D:D

Maar goed, je vergelijkt met een enkel = teken, en dat is geen vergelijking, maar een toewijzing van een variabele. if ($iets=1) is daarom áltijd true.

dus alle vergelijkingen die je doet met een enkel = teken zijn géén vergelijkingen.

Koop of verkoop je webshop: ecquisition.com

Pagina: 1