[PHP]2 tabellen laten zien en data uit twee andere databases

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • hugohugohugo
  • Registratie: September 2006
  • Laatst online: 16-09 14:14
hoi hoi..

ik wil 2 tabellen onderelkaar hebben. en dat de eerste tabel uit de mysql voorkeur 1 pakt en de twee de tabel uit voorkeur 2 pakt. Nou lukt het me wel om gewoon 1 tabel te maken. Maar ik krijg het niet voor elkaar om er twee onderelkaar te zetten..
zo ziet nou me code er uit: (deze werkt dus niet)
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
64
65
66
67
68
69
70
71
72
73
74
75
<?php
$db = mysql_connect("localhost","gebruiker","******")
or die ("Kan niet verbinden: ".mysqlerror());

mysql_select_db("beschikbaarheid",$db);
$sql ="SELECT * FROM voorkeur1";
$resultaat = mysql_query($sql);
?>

<a href="test1.php"> <h5>Klik hier om een regel toe-te-voegen</h5></a>
<p><br />
  
  <?php
if (mysql_num_rows($resultaat)>0){
 echo "<table border=1 align=center>";
 echo "
    <tr align = center>
    <td><b>&nbsp;&nbsp;Naam&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Ma Ochtend&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Ma Middag&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Di Ochtend&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Di Middag&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Wo Ochtend&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Wo Middag&nbsp;&nbsp;</b></td>"; 
                
 while ($rij =mysql_fetch_array($resultaat))
 {
 echo "<tr align = center>";
 echo "<td>&nbsp;".$rij["naam"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Mao"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Mam"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Dio"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Dim"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Woo"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Wom"]."&nbsp;</td>";
 echo "</tr>";
 } 
 echo "</table>";
} 
 mysql_close($db);
?>
  
<?php
$sql ="SELECT * FROM voorkeur2";
?>

<?php
if (mysql_num_rows($resultaat)>0){
 echo "<table border=1 align=center>";
 echo "
    <tr align = center>
    <td><b>&nbsp;&nbsp;Naam&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Ma Ochtend&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Ma Middag&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Di Ochtend&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Di Middag&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Wo Ochtend&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Wo Middag&nbsp;&nbsp;</b></td>"; 
                
 while ($rij =mysql_fetch_array($resultaat))
 {
 echo "<tr align = center>";
 echo "<td>&nbsp;".$rij["naam"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Mao"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Mam"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Dio"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Dim"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Woo"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Wom"]."&nbsp;</td>";
 echo "</tr>";
 } 
 echo "</table>";
} 
 mysql_close($db);
?>


Hopelijke heeft iemand de oplossing voor mij :)

Acties:
  • 0 Henk 'm!

Verwijderd

Ehm, 2x mysql_close()?

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Dit zijn toch gewoon twee tabellen onder elkaar? Ik snap je probleem niet echt.

Edit: hmm, inderdaad... niet zo handig om de boel af te sluiten voor het query-en van de DB..

[ Voor 38% gewijzigd door Janoz op 22-06-2007 09:53 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • hugohugohugo
  • Registratie: September 2006
  • Laatst online: 16-09 14:14
@ Duke_Templar
Als ik de eerste weg haal dan gebeurd er nog steeds niet.. ik krijg een lege pagina..

@ Janoz
Ik zie de tabellen niet.. ik krijg een lege pagina..

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Tja, beetje debuggen kan geen kwaad. Is de source ook leeg? Staan er foutmeldingen in het server log? Werkt een simpelere pagina wel? Waarop staat je loglevel in php?

Dat zijn allemaal dingen die je zelf kunt proberen, maar ook moet proberen omdat niemand anders dat hier voor je kan doen. Aan alleen de melding 'Ik krijg een lege pagina' hebben wel helemaal niks!

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • hugohugohugo
  • Registratie: September 2006
  • Laatst online: 16-09 14:14
Source geeft geen foutmelding en geen niets in de serverlog! als ik de onderste tabel weg haal, dus alleen 1 tabel laat zien werkt het idd wel. sorry dat ik dat er niet had bijvermeld...

Acties:
  • 0 Henk 'm!

  • hamsteg
  • Registratie: Mei 2003
  • Laatst online: 20-09 00:03

hamsteg

Species 5618

Voeg toe aan regel 45:

PHP:
1
$resultaat = mysql_query($sql);


Lussen op het resultaat van de vorige query is niet handig want die heb je al doorlopen.

... gecensureerd ...


Acties:
  • 0 Henk 'm!

  • hugohugohugo
  • Registratie: September 2006
  • Laatst online: 16-09 14:14
er tussen gezet en nog steeds geen resultaat..
en nog steeds geen warnings in source ect..

Acties:
  • 0 Henk 'm!

  • hamsteg
  • Registratie: Mei 2003
  • Laatst online: 20-09 00:03

hamsteg

Species 5618

post de nieuwe code eens in PHP tags.

[ Voor 176% gewijzigd door hamsteg op 22-06-2007 10:32 ]

... gecensureerd ...


Acties:
  • 0 Henk 'm!

  • hugohugohugo
  • Registratie: September 2006
  • Laatst online: 16-09 14:14
PHP:
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
64
65
66
67
68
69
70
71
72
73
74
75
<?php
$db = mysql_connect("localhost","gebruiker","*****")
or die ("Kan niet verbinden: ".mysqlerror());

mysql_select_db("beschikbaarheid",$db);
$sql ="SELECT * FROM voorkeur1";
$resultaat = mysql_query($sql);
?>

<a href="test1.php"> <h5>Klik hier om een regel toe-te-voegen</h5></a><p><br />
  
<?php
if (mysql_num_rows($resultaat)>0){
 echo "<table border=1 align=center>";
 echo "
    <tr align = center>
    <td><b>&nbsp;&nbsp;Naam&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Ma Ochtend&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Ma Middag&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Di Ochtend&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Di Middag&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Wo Ochtend&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Wo Middag&nbsp;&nbsp;</b></td>"; 
                
 while ($rij =mysql_fetch_array($resultaat))
 {
 echo "<tr align = center>";
 echo "<td>&nbsp;".$rij["naam"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Mao"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Mam"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Dio"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Dim"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Woo"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Wom"]."&nbsp;</td>";
 echo "</tr>";
 } 
 echo "</table>";
} 

?>
  
<?php
$sql ="SELECT * FROM voorkeur2";
$resultaat = mysql_query($sql);
?>

<?php
if (mysql_num_rows($resultaat)>0){
 echo "<table border=1 align=center>";
 echo "
    <tr align = center>
    <td><b>&nbsp;&nbsp;Naam&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Ma Ochtend&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Ma Middag&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Di Ochtend&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Di Middag&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Wo Ochtend&nbsp;&nbsp;</b></td>
    <td><b>&nbsp;&nbsp;Wo Middag&nbsp;&nbsp;</b></td>"; 
                
 while ($rij =mysql_fetch_array($resultaat))
 {
 echo "<tr align = center>";
 echo "<td>&nbsp;".$rij["naam"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Mao"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Mam"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Dio"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Dim"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Woo"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Wom"]."&nbsp;</td>";
 echo "</tr>";
 } 
 echo "</table>";
} 

?>

Acties:
  • 0 Henk 'm!

  • hamsteg
  • Registratie: Mei 2003
  • Laatst online: 20-09 00:03

hamsteg

Species 5618

De code kan wel een beetje beter ... net begonnen in de HTML, PHP en MySQL wereld? In iedergeval welkom ! Een programmeur moet echter wel netjes leren programmeren:
  • Geen DocType aan het begin van de pagina
  • Regels van de header tabel worden niet afgesloten </tr>
  • Formateren van een header doe je niet op deze manier. Voor een header gebruik je TH ipv TD
  • echo van HTML elementen is in basis fout, gewoon meer PHP tags gebruiken.
  • <p> gevolgd door <br />? Niet doen!
  • TR = gecentreerd en daarna voeg je overal nog & nbsp; toe?
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php
if (mysql_num_rows($resultaat)>0)
{
?>
 <table border=1 align=center>
 <tr align = center>
    <th>Naam</th><th> ... voor al die delen </th>
 </tr>
<?php
  while ($rij =mysql_fetch_array($resultaat))
  {


Wat laat de view-source van je browser zien op deze gecreerde pagina?

Voor error recovery voeg ook even de ELSE tak toe:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if (mysql_num_rows($resultaat)>0)
{
....
}
else
{
?>
  <h2>Oeps geen resultaten</h2>
<?php
}
?>

[ Voor 11% gewijzigd door hamsteg op 22-06-2007 10:49 . Reden: error handling ]

... gecensureerd ...


Acties:
  • 0 Henk 'm!

  • hugohugohugo
  • Registratie: September 2006
  • Laatst online: 16-09 14:14
ja kom inderdaad net kijken in de wereld..
ik he het nou zo.. met die if/else kom ik er niet echt aan uit..

PHP:
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
<?php
if (mysql_num_rows($resultaat)>0)
{
?>
<table border=1 align="center">
    <tr>
    <th><b>&nbsp;&nbsp;Naam&nbsp;&nbsp;</b></th>
    <th><b>&nbsp;&nbsp;Ma Ochtend&nbsp;&nbsp;</b></th>
    <th><b>&nbsp;&nbsp;Ma Middag&nbsp;&nbsp;</b></th>
    <th><b>&nbsp;&nbsp;Di Ochtend&nbsp;&nbsp;</b></th>
    <th><b>&nbsp;&nbsp;Di Middag&nbsp;&nbsp;</b></th>
    <th><b>&nbsp;&nbsp;Wo Ochtend&nbsp;&nbsp;</b></th>
    <th><b>&nbsp;&nbsp;Wo Middag&nbsp;&nbsp;</b></th>
    </tr>

<?php
if ($rij =mysql_fetch_array($resultaat))
 {
 echo "<tr align = center>";
 echo "<td>&nbsp;".$rij["naam"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Mao"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Mam"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Dio"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Dim"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Woo"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Wom"]."&nbsp;</td>";
 echo "</tr>";
 } 
 echo "</table>";
} 

?>


moet ik in die tweede de "echo" ook gana weghalen?

Acties:
  • 0 Henk 'm!

  • ocke
  • Registratie: Juni 2000
  • Laatst online: 15-09-2024
hugohugohugo schreef op vrijdag 22 juni 2007 @ 11:01:
ja kom inderdaad net kijken in de wereld..
ik he het nou zo.. met die if/else kom ik er niet echt aan uit..

PHP:
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
<?php
if (mysql_num_rows($resultaat)>0)
{
?>
<table border=1 align="center">
    <tr>
    <th><b>&nbsp;&nbsp;Naam&nbsp;&nbsp;</b></th>
    <th><b>&nbsp;&nbsp;Ma Ochtend&nbsp;&nbsp;</b></th>
    <th><b>&nbsp;&nbsp;Ma Middag&nbsp;&nbsp;</b></th>
    <th><b>&nbsp;&nbsp;Di Ochtend&nbsp;&nbsp;</b></th>
    <th><b>&nbsp;&nbsp;Di Middag&nbsp;&nbsp;</b></th>
    <th><b>&nbsp;&nbsp;Wo Ochtend&nbsp;&nbsp;</b></th>
    <th><b>&nbsp;&nbsp;Wo Middag&nbsp;&nbsp;</b></th>
    </tr>

<?php
if ($rij =mysql_fetch_array($resultaat))
 {
 echo "<tr align = center>";
 echo "<td>&nbsp;".$rij["naam"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Mao"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Mam"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Dio"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Dim"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Woo"]."&nbsp;</td>";
 echo "<td>&nbsp;".$rij["Wom"]."&nbsp;</td>";
 echo "</tr>";
 } 
 echo "</table>";
} 

?>


moet ik in die tweede de "echo" ook gana weghalen?
Dat kun je op verschillende manieren anders doen. Je kan ook gewoon

PHP:
1
2
3
4
5
6
7
8
9
10
11
echo "
  <tr align = center>
  <td>&nbsp;".$rij["naam"]."&nbsp;</td>
  <td>&nbsp;".$rij["Mao"]."&nbsp;</td>
  <td>&nbsp;".$rij["Mam"]."&nbsp;</td>
  <td>&nbsp;".$rij["Dio"]."&nbsp;</td>
  <td>&nbsp;".$rij["Dim"]."&nbsp;</td>
  <td>&nbsp;".$rij["Woo"]."&nbsp;</td>
  <td>&nbsp;".$rij["Wom"]."&nbsp;</td>
  </tr>
";


En als we dan toch bezig zijn:

PHP:
1
2
3
4
5
6
7
8
9
10
11
echo "
  <tr align=\"center\">
  <td>".$rij["naam"]."</td>
  <td>".$rij["Mao"]."</td>
  <td>".$rij["Mam"]."</td>
  <td>".$rij["Dio"]."</td>
  <td>".$rij["Dim"]."</td>
  <td>".$rij["Woo"]."</td>
  <td>".$rij["Wom"]."</td>
  </tr>
";


Je kan er maar beter gelijk mee beginnen niet gebruik te maken van " maar van '. Je gebruikt " om een variable in een string te zetten: echo "het nummer is: $getal";. Het is echter wel langzamer. Wat jij doet is " gebruiken maar wel je sting afsluiten voor de variable ".$rij["Wom"].", en daarna weer openen. Dit is niet alleen langzamer, je had dan net zo goed ' kunnen gebruiken.

Tweede voordeel is dat als je " nodig hebt in je html, je deze niet hoeft te escapen: <tr align=\"center\">.

Dus OF je doet " gebruiken:
PHP:
1
echo "<tr align=\"center\"><td>$rij['naam']</td>"

Werkt dit uberhaupt, het is alweer een tijd geleden dat ik zoiets schraals gedaan heb :P Doe maar onderste oplossing, veel beter.

OF, veel beter ':
PHP:
1
echo '<tr align="center"><td>'. $rij['naam'] .'</td>'

Acties:
  • 0 Henk 'm!

  • hamsteg
  • Registratie: Mei 2003
  • Laatst online: 20-09 00:03

hamsteg

Species 5618

Ik heb de query iets naar beneden gehaald om deze dichter bij zijn functionele block te houden (de datbase openen boven in een PHP files is OK). Volgens mij kun je onderstaande code een tweede keer kopieren en dan resultaat twee afhandeling doen (voor de puristen, dit zou dus ook nog weer in een loopje kunnen).

Ik heb het afdrukken van de regels met resultaten min of meer onveranderd gelaten. Je zou de velden ook in een array kunnen zetten en dan in een lusje afdrukken maar dan wordt het even te moeilijk denk ik.

Hier moet je het wat mij betreft mee doen ... de rest is echt aan jezelf. Spelen en proberen ....
PHP:
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
/*
 *    EERSTE VOORKEUR AFHANDELING
 *
 *    Vraag MySQL om data
 */
$sql ="SELECT * FROM voorkeur1";
$resultaat = mysql_query($sql);
/*
 *   Alleen als er iets te melden is bouwen we een tabel op
 */
if (mysql_num_rows($resultaat)>0)
{
  /*
   *    Hier zetten we alleen de tabel header
   */
?>
<table border=1 align="center">
  <tr>
    <th>Naam</th> <th>Ma Ochtend</th> <th>Ma Middag</th>
                  <th>Di Ochtend</th> <th>Di Middag</th>
                  <th>Wo Ochtend</th> <th>Wo Middag</th>
  </tr>
<?php
  /*
   *    Nu gaan we alle rijen af 
   *    Opm: echo-en van HTML tags heeft niet de voorkeur maar nu even niet te moeilijk maken
   */
  while ($rij =mysql_fetch_array($resultaat))
  {
    echo "<tr align = center>";
    echo "<td>".$rij["naam"]."</td>";
    echo "<td>".$rij["Mao"]."</td>";
    echo "<td>".$rij["Mam"]."</td>";
    echo "<td>".$rij["Dio"]."</td>";
    echo "<td>".$rij["Dim"]."</td>";
    echo "<td>".$rij["Woo"]."</td>";
    echo "<td>".$rij["Wom"]."</td>";
    echo "</tr>";
  } 
?>
</table>
<?php
} 
else
{
  /*
   *    Hier zouden we nooit moeten komen maar er zijn geen resultaten gevonden
   */
?>
  <h2>Geen resultaten voor 1ste query</h2>
<?php
}
?>


edit:
Eens met Ocke, kijk ook naar zijn voorstellen.

[ Voor 3% gewijzigd door hamsteg op 22-06-2007 11:42 ]

... gecensureerd ...


Acties:
  • 0 Henk 'm!

  • ocke
  • Registratie: Juni 2000
  • Laatst online: 15-09-2024
hamsteg schreef op vrijdag 22 juni 2007 @ 11:35:
edit:
Eens met Ocke, kijk ook naar zijn voorstellen.
*O*

Acties:
  • 0 Henk 'm!

  • hugohugohugo
  • Registratie: September 2006
  • Laatst online: 16-09 14:14
echt super dat jullie me zo willen helpen :)

maar hij werkt niet krijg de volgende foutmelding:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\program files\e-novative\WAMP\www\beschikbaarheid\index.php on line 51

51= if (mysql_num_rows($resultaat)>0)
en dan wat we nooit mogen zien: Geen resultaten voor 1ste query...

Acties:
  • 0 Henk 'm!

  • jpwaag
  • Registratie: September 2003
  • Laatst online: 16:05
Als je even ergens echo mysql_error(); na de query en voor die if(mysql_num_rows( zet, dan krijg je de foutmelding te zien die MySQL teruggeeft. Daar staat dan waarschijnlijk in dat je tabel niet bestaat ofzo...

@hamsteg
Ik vind dit soort html in echo's zetten niet noodzakelijk fout, het is meer een kwestie van smaak. Zo groot is het ook weer niet.

[ Voor 10% gewijzigd door jpwaag op 22-06-2007 12:02 . Reden: inhoud van mysql_error ]


Acties:
  • 0 Henk 'm!

  • hamsteg
  • Registratie: Mei 2003
  • Laatst online: 20-09 00:03

hamsteg

Species 5618

@jpwaag

Vanuit de PHP beginsel is dit overkill. Alles wat niet in PHP tags staat wordt gewoon ge-output dus een HTML entry (of eigenlijk alle statische data) via een echo/print(f) statement afdrukken is onnodige belasting van de parser.

Maar ...

Ik ben het met je eens dat dat het soms overkill is om met alle geweld dit te willen handhaven. Vandaar mijn zorgvuldig gekozen woorden "in beginsel onjuist" en "bij voorkeur niet".


Toch vind ik dat juist beginnende programmeurs dit heel duidelijk in hun hoofd moeten prenten omdat dit de basis en essentie is van de PHP script taal. Gebruik PHP alleen voor het dynamisch deel van je output, en dus niet voor je statische elementen.

... gecensureerd ...


Acties:
  • 0 Henk 'm!

  • mocean
  • Registratie: November 2000
  • Laatst online: 04-09 10:34
hamsteg schreef op vrijdag 22 juni 2007 @ 10:38:
...
  • echo van HTML elementen is in basis fout, gewoon meer PHP tags gebruiken.
...
Dat vind ik wel erg hard gesteld. Ik zie veel liever nette echo's van html dan 200 keer <? en ?> in een PHP script, dat maakt het veel onoverzichtelijker als je aan het programmeren bent.

Nog liever zie ik een template engine trouwens...

Koop of verkoop je webshop: ecquisition.com


Acties:
  • 0 Henk 'm!

  • hamsteg
  • Registratie: Mei 2003
  • Laatst online: 20-09 00:03

hamsteg

Species 5618

Goed de gehele post gelezen Mocean.

... gecensureerd ...


Acties:
  • 0 Henk 'm!

  • mocean
  • Registratie: November 2000
  • Laatst online: 04-09 10:34
Ik heb je hele post gelezen Hamsteg. Ik heb het ook niet over je andere tips.
Maar wat is nou duidelijker als je als PHPer aan het coden bent:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if (mysql_num_rows($resultaat)>0)
{
....
}
else
{
?>
  <h2>Oeps geen resultaten</h2>
<?php
}
?>

of
PHP:
1
2
3
4
5
6
7
8
<?php
if (mysql_num_rows($resultaat)>0)
{
   ....
} else {
   echo '<h2>Oeps geen resultaten</h2>';
}
?>


Geef mij maar de tweede optie. Ook de meeste editors laten de syntax dan veel beter zien. Jij stelt dat echo-en van html standaard niet goed is, en dat is in mijn oogpunt dus niet zo.

Koop of verkoop je webshop: ecquisition.com


Acties:
  • 0 Henk 'm!

  • hamsteg
  • Registratie: Mei 2003
  • Laatst online: 20-09 00:03

hamsteg

Species 5618

Een beginnend programmeur, wat jij niet lijkt te zijn maar TS wel, moet heel goed weten wat een PHP script parser doet voordat jezelf dit soort afwegingen maakt. Je moet je wel even verplaatsen in de TS die net begonnen is en daarom toch mijn zorgvuldig gekozen woorden om in de basis dit niet te doen.

Ja, ik ben het met je eens dat jouw voorbeeld code waarschijnlijk ook door mij zo wordt opgeschreven. Echter als je bij een beginnend programmeur dit niet uitlegt en en zonder uitleg dit toestaat krijg je straks vragen als "mijn PHP pagina werkt niet" terwijl eigenlijk een HTML tag niet goed gebruikt wordt en dus de HTML output niet klopt.

Als je iets gebruikt moet je eerst de concepten snappen en een aantal basisregels neerleggen. Het woord basis impliceert echter ook dat je kunt afwijken alleen moet dat een bewust keuze zijn en niet iets wat is aangeleerd.

... gecensureerd ...


Acties:
  • 0 Henk 'm!

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 26-05 15:01

XangadiX

trepanatie is zóó kinderachtig

>> PRG

Stoer; Marduq

Pagina: 1