Gastenboek - gegevens ophalen uit DTBS

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Stef van de Ven

Stef van de Ven

02/11/2009 21:34:00
Quote Anchor link
Hallo allemaal,

Ik ben zelf een gastenboek aan het maken, maar ik stuit op een probleem.
Bij het ophalen van de gegevens, wat overigens nu wel goed lukt, kan ik de berichten niet achter elkaar laten opvolgen.

Ik mis gewoon een stuk code, de code om meerdere berichten te laten zien als die er zijn.

Dit heb ik tot nu toe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
  
    $query
= mysql_query("SELECT ID,Naam,Bericht FROM gastenboek ORDER BY ID DESC LIMIT 10");
  
        $rij = mysql_fetch_object($query);
 
        $ID = htmlspecialchars($rij->ID);
        $Naam = htmlspecialchars($rij->Naam);
        $Bericht= htmlspecialchars($rij->Bericht);
 
        echo '<div id="TEKSTBLOK"><div id="TEKSTHEADER"><p> Dit bericht is geschreven door: '.ucfirst($Naam).'</p></div><div id="TEKSTBODY"><br><p>'.ucfirst($Bericht).'</p><br></div></div><br><br>'
 
?>


De divs zijn heel belangrijk, dit is namelijk voor mijn opmaak.
Het is dan ook mijn bedoeling om elke keer bij elk bericht opnieuw de echo uit te laten voeren. (tot een maximale aantal berichten van 10)

Kan iemand mij hiermee helpen?
 
PHP hulp

PHP hulp

19/04/2024 14:29:23
 
Mr.Ark

Mr.Ark

02/11/2009 21:39:00
Quote Anchor link
Maak eens foutenafhandeling A.U.B

Wat jij zoekt is een while() loop

Edit:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?PHP

# Errors weergeven
error_reporting(E_ALL);

# Query uitvoeren
$Query =
"
    SELECT
        ID,
        Naam,
        Bericht
    FROM
        gastenboek
    ORDER BY
        ID
    DESC
"
;

# Resultaat van de query
$Result = mysql_query($Query);

# Kijken of de query is gelukt
if(!$Result)
{

    # Fout in query
    echo 'Foutje opgetreden: '.mysql_error();
}

else
{
    # Kijken of er wel resultaten zijn
    if(mysql_num_rows($Result) == 0)
    {

        # Geen resultaten
        echo 'Er staan geen resultaten in de database.';
    }

    else
    {
        # While loop uitvoeren om gegevens te laten zien
        while($Row = mysql_fetch_assoc($Result))
        {

            # Doe hier wat met je div en laat het bijvoorbeeld zien met $Row['ID']
        }
    }
}


?>


Lees de code goed door en neem het mee voor volgende keer.
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
 
Stef van de Ven

Stef van de Ven

02/11/2009 21:41:00
Quote Anchor link
Ik ben geen php scripter, ik heb geen idee wat een foutafhandeling precies is en hoe ik die moet maken.

Ik heb dus een while() loop nodig, hoe maak ik die dan?
 
Mr.Ark

Mr.Ark

02/11/2009 21:45:00
Quote Anchor link
Lees mijn edit, Pas je code nog wel even aan naar jouw wens...

Edit:


Ik raad je ook aan om Htmlentities te gaan gebruiken als je de naam en het bericht laat zien

-> http://php.net/manual/en/function.htmlentities.php
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
 
Stef van de Ven

Stef van de Ven

02/11/2009 21:59:00
Quote Anchor link
Dankjewel voor deze code, het probleem is dat ik jouw code verpest door mijn echo.

In mijn echo geeft mijn host het volgende error:
Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /home/a6972826/public_html/GBBerichten2.php on line 161

De error staat in:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? php echo '<div id="TEKSTBLOK"><div id="TEKSTHEADER"><p> Dit bericht is geschreven door: '$Row['Naam']'</p></div><div id="TEKSTBODY"><br><p>'$Row['Bericht']'</p><br></div></div><br><br>' ?>


Wat zou ik moeten aanpassen?
 
Mr.Ark

Mr.Ark

02/11/2009 22:03:00
Quote Anchor link
'$Row['Naam']'

Naar:

'.$Row['Naam'].'
 
Stef van de Ven

Stef van de Ven

02/11/2009 22:10:00
Quote Anchor link
Dankjewel, hij doet het nu!

Ik heb het veranderd naar:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?PHP

# Errors weergeven
error_reporting(E_ALL);

# Query uitvoeren
$Query =
"
    SELECT
        ID,
        Naam,
        Bericht
    FROM
        gastenboek
    ORDER BY
        ID
    DESC
"
;

# Resultaat van de query
$Result = mysql_query($Query);

# Kijken of de query is gelukt
if(!$Result)
{

    # Fout in query
    echo 'Foutje opgetreden: '.mysql_error();
}

else
{
    # Kijken of er wel resultaten zijn
    if(mysql_num_rows($Result) == 0)
    {

        # Geen resultaten
        echo 'Er staan geen resultaten in de database.';
    }

    else
    {
        # While loop uitvoeren om gegevens te laten zien
        while($Row = mysql_fetch_assoc($Result))
        {

            echo '<div id="TEKSTBLOK"><div id="TEKSTHEADER"><p> Dit bericht is geschreven door: '.$Row['Naam'].'</p></div><div id="TEKSTBODY"><br><p>'.$Row['Bericht'].'</p><br></div></div><br>'
        ;}
    }
}


?>
 
Mr.Ark

Mr.Ark

02/11/2009 22:13:00
Quote Anchor link
tip: je kan beter sorteren op Datum, dan moet je die natuurlijk ook wel in je database opslaan.

Dan weet je namelijk zeker dat er goed wordt gesorteerd.

Maak een veld in je database aan met Datetime, dan kan je bij het inserten NOW() gebruiken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.