Ben ik op de juiste weg.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

V Horst

V Horst

25/09/2011 13:52:19
Quote Anchor link
Hoi,

ik ben nieuw met PHP. nu ben ik bezig een facturatie systeem/klantbestand aan het bouwen.

Ik vraag me nu af of ik wel op de juiste manier werk.
De code die ik nu heb, is gekoppeld aan de database en haalt het klantbestand op. Vervolgens geeft hij dit in een tabel weer.
het is straks de bedoeling dat de layout aangepast kan worden. Dit is me echter nog niet helemaal gelukt.

Hier de code.

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
48
49
50
51
52
53
54
55
56
57
58
59
<?php
require ("connect.php");

$DB = mysql_connect($DB_HOST, $DB_USER, $DB_PASSWORD);
mysql_select_db($DB_BASE, $DB);
 Echo "<a href=Main.php>Home</a>";
 Echo "<br><br>";
echo "<LINK HREF=\"stylesheet.css\" REL=\"stylesheet\" TYPE=\"text/css\">";
 
 
$result = mysql_query("SELECT * FROM klant_bestand ORDER BY id")
or die(mysql_error());
    
    echo "<table border='1'>";
    echo
        '<tr>
            <td id="klant">Klantnummer</td>
            <td id="klant">Bedrijfsnaam</td>
            <td>Voornaam</td>
            <td>Achternaam</td>
            <td>Contactpersoon</td>
            <td>straatnaam</td>
            <td>Huisnummer</td>
            <td>Toevoeging</td>
            <td>Postcode</td>
            <td>Woonplaats</td>
            <td>Land</td>
        </tr>'
;

while($row = mysql_fetch_array( $result )) {
 
    echo         "<tr><td>";
    echo $row      ['ID'];
    echo         "</td><td>";
    echo $row      ['Bedrijfsnaam'];  
    echo        "</td><td>";
    echo $row      ['Voornaam'];
    echo        "</td><td>";
    echo $row      ['Achternaam'];
    echo        "</td><td>";
    echo $row      ['Contactpersoon'];
    echo         "</td><td>";
    echo $row      ['Straatnaam'];
    echo         "</td><td>";
    echo $row      ['Huisnummer'];  
    echo        "</td><td>";
    echo $row      ['Toevoeging'];
    echo        "</td><td>";
    echo $row      ['Postcode'];
    echo        "</td><td>";
    echo $row      ['Woonplaats'];
    echo        "</td><td>";
    echo $row      ['Land'];
    
    echo         "</td></tr>";
}

    echo "</table>";

 ?>

alvast bedankt voor jullie reactie.

Groet, Vincent
 
PHP hulp

PHP hulp

19/04/2024 18:11:38
 
Jordi Kroon

Jordi Kroon

25/09/2011 14:01:44
Quote Anchor link
Ben je op de juiste weg: Redelijk

Ik heb hier ooit een topic over gemaakt die je als je slim bent even kan doorlezen.
Link : http://www.phphulp.nl/php/tutorial/php-algemeen/hoe-zet-je-iets-correct-op-phphulp/731/ . Let vooral op de voorbeelden.
 
Jasper DS

Jasper DS

25/09/2011 14:03:33
Quote Anchor link
- Gebruik geen or die() als foutafhandeling van de query.
- Gebruik geen wildcard (*) in je sql
- gebruik mysql_fetch_assoc() idpv _fetch_array
- Voor PHP best single quotes (') en voor html double quotes (")
 
V Horst

V Horst

25/09/2011 14:09:10
Quote Anchor link
Thanks voor jullie reactie.

Wat word met de Wildcard bedoeld. Kan ik die er uithalen? of moet die vervangen worden door wat anders.
 
Jasper DS

Jasper DS

25/09/2011 14:10:55
Quote Anchor link
Wildcard is het sterretje, idpv van het sterretje zet je dus gewoon de velden.

SELECT veld1, Veld2, Veld3 FROM ...
 
Jordi Kroon

Jordi Kroon

25/09/2011 14:11:52
Quote Anchor link
wildcard is dit:

$result = mysql_query("SELECT * FROM klant_bestand ORDER BY id");

Waarom gebruik je het niet:
Je haalt overbodige rijen op .
En het is moeilijker om te bepalen welke rijen je wilt gaan gebruiken omdat je ze dan of moet onthouden of moet gaan zoeken in de database.
Gewijzigd op 25/09/2011 14:12:07 door Jordi Kroon
 
V Horst

V Horst

25/09/2011 14:13:11
Quote Anchor link
als ik dit straks wil uitlijnen, klopt het dat ik daar dan CSS voor gebruik. Net als met HTML?

Hoe kan ik dan het beste te werk te gaan?
Voorbeeld:

<td id="klant">Klantnummer</td>
echo '<tr><td id ="klant>';
echo $row ['ID'];
echo '</td><td id="klant">';

vervolgens dan in CSS td#klant uitlijnen?
 
Jasper DS

Jasper DS

25/09/2011 14:15:50
Quote Anchor link
Uitbreiding op wat Jordi zegt, er zijn 2 redenen voor het niet gebruiken van een wildcard.

Rede 1:
De snelheid, zoals jordi hierboven als zegt worden nu alle rijen opgehaald, dit gaat ten koste van de snelheid.

Rede 2:
SQL staat voor Structured Query Language. Wat wil dit zeggen? Wel je moet alles typen wat er moet gebeuren, stel nu dat je een wildcard gebruikt dan weet je 2 maanden later niet meer wat je query juist ophaalt, nu weet je dat wel.

Inderdaad, PHP dient om te communiceren met se server en HTML verzorgd samen met css de opmaak. Het opmaken van een pagina is dus net hetzelfde met of zonder PHP.
Gewijzigd op 25/09/2011 14:16:46 door Jasper DS
 
V Horst

V Horst

26/09/2011 16:58:20
Quote Anchor link
Ik heb de Wildcard eruit gehaald en nu met ID en Bedrijfsnaam ingevuld. Echter werkt het niet.
Code:
$result = mysql_query("SELECT ID, Bedrijfsnaam, FROM klant_bestand ORDER BY id")
or die(mysql_error());
geeft;
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM klant_bestand ORDER BY id' at line 1
 
Maikel  B

Maikel B

26/09/2011 17:17:11
Quote Anchor link
De komma achter Bedrijfsnaam moet weg:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT id, bedrijfsnaam FROM klant_bestand ORDER BY id


Let ook op je hoofdletter gebruik.
Bij de SELECT gebruik je ID met hoofdletters en bij de ORDER BY gebruik je id met kleine letters. Dit kan verwarrend zijn voor je zelf met complexe queries.

en nog steeds de dingen die Jasper al zei:
- Gebruik geen or die() als foutafhandeling van de query.
- gebruik mysql_fetch_assoc() idpv _fetch_array
- Voor PHP best single quotes (') en voor html double quotes (")
Gewijzigd op 26/09/2011 17:25:06 door Maikel B
 
V Horst

V Horst

26/09/2011 21:23:47
Quote Anchor link
Super werkt.

Weer een stap dichterbij.

andere punten gelijk aangepast in ieder script.

Groet, vincent
 



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.