Alles moet op een regel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ted Jansen

Ted Jansen

17/12/2011 11:52:31
Quote Anchor link
Hoi allemaal,


Ik heb dit script :

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
<?php
require_once 'db_config.php';

$sql = "
    SELECT
        naam,punten
    FROM
        astoto
"
;

if(!$res = mysql_query($sql))
{

    trigger_error(mysql_error().'<br />In query: '.$sql);
}

elseif(mysql_num_rows($res) == 0)
{

    echo 'Geen resultaten gevonden';
}

else
{
    while($row = mysql_fetch_assoc($res))
    {

    echo $row['naam']. '<br />';
    echo $row['punten'].'<br />';
    }
}

?>



Hoe moet ik naam & punten op een regel krijgen want nu staat het onder elkaar , en dan vult het scherm heel snel.

Groetjes Ted
 
PHP hulp

PHP hulp

15/05/2024 07:29:05
 
Noppes Homeland

Noppes Homeland

17/12/2011 12:45:44
Quote Anchor link
Misschien de basis van html eens tot je door laten dringen:
http://www.w3schools.com/TAGS/tag_br.asp

en wat je hier produceerd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if(!$res = mysql_query($sql)) {
?>

is inmorreel fout, lees goed hoe en wat http://www.php.net/mysql_query

Leer je zelf aan, dat als je met booleans aan de slag gaat je dit strict doet!! (m.a.w. laat php niet bepalen wat jij niet bedoeld, want in 99% zit je appels met peren te vergelijken)
 
Ted Jansen

Ted Jansen

17/12/2011 12:49:44
Quote Anchor link
Dit heb ik gewoon van een tutorial!
 
Noppes Homeland

Noppes Homeland

17/12/2011 13:00:03
Quote Anchor link
Ja, en "bijna" alle tutorials/boeken die voorbij komen bevatten deze fout.
 
Lano Heeren

Lano Heeren

17/12/2011 13:27:06
Quote Anchor link
bij naam <br /> weghalen, dan staat het achter elkaar
 
Ted Jansen

Ted Jansen

17/12/2011 13:52:13
Quote Anchor link
Oke bedankt maar hoe moet ik het lettertype naar tahoma veranderen?
 
Noppes Homeland

Noppes Homeland

17/12/2011 14:08:40
Quote Anchor link
Ome Ted, wat dacht je ervan je dan ook nog eens te verdiepen in CSS
http://www.w3schools.com/css/css_font.asp


Neem zelf eens wat meer initiatief, om je eigen vragen te beantwoorden. Als je dan iets gevonden hebt en het lukt daar niet mee dan kan je altijd nog die specieke vraag stellen.
 
Ozzie PHP

Ozzie PHP

17/12/2011 15:46:50
Quote Anchor link
Noppes Homeland op 17/12/2011 12:45:44:

en wat je hier produceerd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if(!$res = mysql_query($sql)) {
?>

is inmorreel fout, lees goed hoe en wat http://www.php.net/mysql_query

Hey Noppes, zelf zou ik het ook niet zo doen, maar het is toch niet fout?

Je wijst het resultaat van mysql_query toe aan de variabele $res en je controleert dan of $res true of false is. Je doet 2 dingen tegelijk, maar waarom is het volgens jou dan fout? Is dat omdat mysql_query zowel een resource als een boolean kan returnen? Is dat wat jij bedoelt, of bedoel je iets anders?
 
Noppes Homeland

Noppes Homeland

17/12/2011 16:32:29
Quote Anchor link
$res kan nooit true worden, dat al ten eerste, het is een resource of false, en als het false is dien je deze in dit geval strict te controleren en dat gebeurt op deze maniet niet.
 
Ozzie PHP

Ozzie PHP

17/12/2011 17:50:06
Quote Anchor link
Noppes, als $res gevuld wordt met een resource dan levert het toch true op in de if-statement??? Alle andere gevallen leveren false op. Strict controleren hoeft niet want die resource kan niet 0, NULL of empty zijn. Toch?
 
Noppes Homeland

Noppes Homeland

17/12/2011 19:48:28
Quote Anchor link
Nee een recource is niet van het type boolean en $res kan geen true krijgen van mysql_query. $res = mysql_query is een toekenning geen vergelijking.

De resource kan wel het getal 0 - bij hoge uitzondering - worden, maar dat staat uiteraard dan weer niet gelijk aan false.

Je dient bij alle functies die niet bij default een boolean teruggeven, maar wel in bepaalde - fout - situaties true/false kunnen retourneren strict te controleren, anders ben je gewoon het lul in situaties waarvan jij geen weet van hebt.

En let op, want je loopt nu te blaten over het feit dat empty gelijk is aan de waarde 0 of NULL en dat is gewoon niet waar.

De stelling is, dat een APPEL geen PEER is.
 
Ozzie PHP

Ozzie PHP

17/12/2011 19:55:54
Quote Anchor link
"En let op, want je loopt nu te blaten over het feit dat empty gelijk is aan de waarde 0 of NULL en dat is gewoon niet waar."

Ik loop niet te blaten en ik zeg helemaal niet dat empty gelijk is aan 0 of NULL. Dat maak jij er van, maar dat is niet wat ik zeg.

Maar wat ik bedoel is... als het een resource is, dan is het inderdaad geen boolean, maar wordt die resource dan toch niet gezien als TRUE?

Voorbeeld:

$geslaagd = "geslaagd";

if ($geslaagd) {
echo 'geslaagd';
}

In dit voorbeeld zal in het if-statement $geslaagd toch als true worden gezien ondanks dat het geen boolean is. Dit geldt toch ook voor een resource?
 
Wouter J

Wouter J

17/12/2011 20:08:29
Quote Anchor link
@ozzie,
Quote:
als het een resource is, dan is het inderdaad geen boolean, maar wordt die resource dan toch niet gezien als TRUE?
(...)
In dit voorbeeld zal in het if-statement $geslaagd toch als true worden gezien ondanks dat het geen boolean is. Dit geldt toch ook voor een resource?

Je zegt het goed, het wordt gezien als true maar het is het niet. Vandaar dat het fout is. Dit is weer een van die slechte punten van PHP (en andere scripttalen bevatten deze fout ook). False en true zijn de enige booleans.
Dat scripttalen 0, NULL, array() en '' zien als false en 1 - ? (oneindig) + alle andere waardes als true is eigenlijk gewoon fout.

Je kan een query dus op het best zo moeten controleren:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
  $res
= mysql_query('SELECT iets FROM tabelnaam', $sql_link);
  if( $res === false )
  {

    // fout in query
  }
  else
  {
    // resource gegeven, checken of deze waarde gelijk is aan 0 en er iets mee doen.
  }
?>


@noppes, een font tag aanraden? Als zijn tags die zo snel mogelijk weg moeten en 1 daarvan is de font tag. Zoiets hoor je op te lossen met CSS, stylen doe je met CSS en niet met HTML. Dit vind ik een ergere denkfout dan 0 of empty zien als false...
Gewijzigd op 17/12/2011 20:10:01 door Wouter J
 
Ozzie PHP

Ozzie PHP

17/12/2011 20:13:19
Quote Anchor link
Ah oke... ik snap wat je bedoelt. Maar... het werkt gewoon wel. Dus de vraag is of het dan "fout" is. Maar ik begrijp nu in ieder geval wat Noppes bedoelt. Dankjewel Wouter.
 
Erwin H

Erwin H

17/12/2011 20:13:39
Quote Anchor link
never mind....

(kan je een post ook deleten eigenlijk....)
Gewijzigd op 17/12/2011 20:15:34 door Erwin H
 
Ozzie PHP

Ozzie PHP

17/12/2011 20:17:52
Quote Anchor link
Erwin H op 17/12/2011 20:13:39:
never mind....

(kan je een post ook deleten eigenlijk....)

nee dat kan niet...
 
Wouter J

Wouter J

17/12/2011 20:25:40
Quote Anchor link
@erwin, waarom delete je je post nu? Was best wel een leuke voor discussie. Want je maakt een fout, want true en false had je moeten omwisselen.

Maar de code die erwin gaf:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
    if( !$res = true )
    {

      echo 'true';
    }

    else
    {
      echo 'false';
    }

?>

Dit geeft true. Want volgens de operators.precendence voer je eerst !$res uit, dit $res bestaat niet en is dus false !false wordt true en vervolgens staat er true = false wat true weergeeft.

Ik heb zo'n gevoel dat ik ergens een denk foutje maak, maar volgens mij moet dit kloppen.
 
- SanThe -

- SanThe -

17/12/2011 20:32:43
Quote Anchor link
Ozzie PHP op 17/12/2011 20:13:19:
Ah oke... ik snap wat je bedoelt. Maar... het werkt gewoon wel. Dus de vraag is of het dan "fout" is. Maar ik begrijp nu in ieder geval wat Noppes bedoelt. Dankjewel Wouter.


Vergelijk het met fietsen op een fiets met twee lekke banden. Dat gaat ook maar is niet okee.

Toevoeging op 17/12/2011 20:36:45:

Wouter J op 17/12/2011 20:25:40:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
    if( !$res = true )
    {

      echo 'true';
    }

    else
    {
      echo 'false';
    }

?>


Dit geeft true.


Geeft dus een false. Getest.
 
Noppes Homeland

Noppes Homeland

17/12/2011 20:46:47
Quote Anchor link
@Wouter J, ik verwijs overigens naar CSS font-family. Ik heb het totaal niet gehad over het html element font.
 
Erwin H

Erwin H

17/12/2011 21:25:34
Quote Anchor link
Wouter J op 17/12/2011 20:25:40:
@erwin, waarom delete je je post nu? Was best wel een leuke voor discussie. Want je maakt een fout, want true en false had je moeten omwisselen.

Maar de code die erwin gaf:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
    if( !$res = true )
    {

      echo 'true';
    }

    else
    {
      echo 'false';
    }

?>

Dit geeft true. Want volgens de operators.precendence voer je eerst !$res uit, dit $res bestaat niet en is dus false !false wordt true en vervolgens staat er true = false wat true weergeeft.

Ik heb zo'n gevoel dat ik ergens een denk foutje maak, maar volgens mij moet dit kloppen.

Omdat ik heel iets anders 'dacht' te krijgen, maar dat was omdat ik een fout maakte en toen mij eigen ongelijk weergaf....
 



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.