Database lijst weergeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Niels Rietveld

Niels Rietveld

20/02/2015 15:23:13
Quote Anchor link
Hallo,
Ik snap inmiddels het ?id=1 verhaal.

Hoe kan ik ervoor zorgen dat op een pagina de gehele tabel geladen wordt, dus alle rijen?
En dat dit klik baar wordt naar ?id=1
 
PHP hulp

PHP hulp

16/01/2025 20:11:08
 
- Ariën  -
Beheerder

- Ariën -

20/02/2015 15:33:23
Quote Anchor link
Je wilt dus zonder GET-argument (items.php) alle rijen zien, en via een GET-argument (items.php?id=1) een bepaalde rij zien?
 
Niels Rietveld

Niels Rietveld

20/02/2015 15:35:37
Quote Anchor link
Ja, klopt
 
Thomas van den Heuvel

Thomas van den Heuvel

20/02/2015 15:35:47
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$id
= false;
if (isset($_GET['id']) && preg_match('#^[1-9][0-9]*$#', $_GET['id']) === 1) {
    $id = trim($_GET['id']);
}


if ($id === false) {
    // geen id ingesteld - toon lijst
} else {
    // wel een id ingesteld - toon item
}
?>


Ik zou zeggen, verdiep je eens in de controle structuren van PHP.
 
Niels Rietveld

Niels Rietveld

20/02/2015 15:36:00
Quote Anchor link
Maar waar je alle rijen ziet andere link dus overzicht.php en items.php?id=1

Toevoeging op 20/02/2015 15:36:36:

En dan elke rij klikbaar naar eigen link
 
- Ariën  -
Beheerder

- Ariën -

20/02/2015 15:41:35
Quote Anchor link
Dit heb ik even uit de losse pols geschreven.

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
<?php
if(isset($_GET['id'])) {
    // er is een ID ingevuld
    $result = mysqli_query("SELECT ... FROM ... WHERE id='".mysqli_real_escape_string($con,$_GET['id'])."'");
    if($result) {
        // de query is gelukt, nu gaan we fetchen...
        $data = mysql_fetch_assoc($result);
        print_r($data); // laat zien welke data we kunnen tonen
    } else {
        // de query is mislukt, toon hier een foutmelding uit mysqli_error().
    }
}
else {
    // er is geen ID ingevuld.
    $result = mysqli_query("SELECT ... FROM ...");
    if($result) {
        // de query is gelukt, nu gaan we fetchen...
        while($data = mysql_fetch_assoc($result)) {
            // echo hier bijv. $data['VELDNAAM'];
        }
    }
else {
        // de query is mislukt, toon hier een foutmelding uit mysqli_error().
    }
}

?>


Zoiets dus...
Foutafhandeling kan je prima toepassen door dit artikel te lezen:
http://www.phphulp.nl/php/tutorial/data-verwerking/foutafhandeling-query-sql/735/algemene-structuur/1930/
Verder ga ik zelf uit van de moderne MySQLi-functies i.p.v. de verouderde MySQL-functies.
Gewijzigd op 20/02/2015 15:42:36 door - Ariën -
 
Niels Rietveld

Niels Rietveld

20/02/2015 15:59:52
Quote Anchor link
Kan ik ook met de include functie een database connect oproepen, dat daar dus de naam, en wachtwoord van de database instaan zodat als dezewijzigen niet elk bestand dit hoeft.
 
- Ariën  -
Beheerder

- Ariën -

20/02/2015 16:01:10
Quote Anchor link
Uiteraard...
 
Niels Rietveld

Niels Rietveld

20/02/2015 16:07:31
Quote Anchor link
En als ik nu bijvoorbeeld id?=1 heb
en een pagina index.php maak en hier include id=1 doe, is dat wel goed voor google
 
- Ariën  -
Beheerder

- Ariën -

20/02/2015 16:09:18
Quote Anchor link
Je kan alleen lokale bestanden includeren, geen URL's
Gewijzigd op 20/02/2015 16:09:31 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

20/02/2015 16:16:05
Quote Anchor link
Quote:
en een pagina index.php maak en hier include id=1 doe, is dat wel goed voor google

De interne representatie (/leden.php?id=12) staat los van het externe uiterlijk / de externe aanroep (/leden/12/hennie).

Om deze twee aan elkaar te knopen is er URL rewriting (een mechanisme voor het creëren van zoekmachine-vriendelijke URL's).

Dit is een op zichzelf staand "probleem".

Behandel deze dan ook apart.
 
Niels Rietveld

Niels Rietveld

20/02/2015 16:17:50
Quote Anchor link
De include connect werkt niet:

connect.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

$db
= mysqli_connect('localhost', 'username', 'password', 'tabel');


if (mysqli_connect_errno()) {
    echo 'Connectie mislukt: ' . mysqli_connect_error();
    exit();
}

?>


index.php
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
<?php

include 'connect.php';


$balk = mysqli_query($db, "SELECT inhoud FROM pages WHERE ID=" . 1);


if(!$balk) {
    echo 'Er is een MYSQL fout opgetreden. ' . mysqli_error($db);
    exit();
}




if($balkr = mysqli_fetch_assoc($balk)) {

}


{;
?>


<?php echo '' . $balkr['inhoud'] ?>
<?;} ?>


De pagina index.php blijft wit..
 
- Ariën  -
Beheerder

- Ariën -

20/02/2015 16:25:00
Quote Anchor link
Dan wordt blijkbaar de statement op lijn 16 aangeroepen, en daar gebeurt niks.
Kijk ook eens naar mijn gemaakte voorbeeld.
 
Niels Rietveld

Niels Rietveld

20/02/2015 16:29:06
Quote Anchor link
Welk voorbeeld?

Toevoeging op 20/02/2015 16:30:47:

Zonder die include funcite werkt t wel
 
- Ariën  -
Beheerder

- Ariën -

20/02/2015 16:33:03
Quote Anchor link
Deze...
 
Niels Rietveld

Niels Rietveld

20/02/2015 16:37:20
Quote Anchor link
Waarom doet die het wel zonder de include dan
 
- Ariën  -
Beheerder

- Ariën -

20/02/2015 16:42:06
Quote Anchor link
In mijn voorbeeld hoort de include er ook bij.
Zonder deze zal het sowieso nooit werken, want hij weet de inloggegevens niet, evenals de databasenaam.
 
Niels Rietveld

Niels Rietveld

20/02/2015 16:42:28
Quote Anchor link
Dat staat toch in de include file daar gaat het juist om
 
- Ariën  -
Beheerder

- Ariën -

20/02/2015 16:44:39
Quote Anchor link
Gebruik anders eens in je connectie-bestand: mysqli_error($db)
 
Niels Rietveld

Niels Rietveld

20/02/2015 16:51:12
Quote Anchor link
Hoe bedoel je
 
- Ariën  -
Beheerder

- Ariën -

20/02/2015 16:53:26
Quote Anchor link
Die functie gebruiken, i.p.v. mysqli_connect_error(). Dat valt te proberen.
Als er iets mis is met de connectie, dan moet je een foutmelding zien.
 

Pagina: 1 2 volgende »



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.