abonnement Unibet Coolblue Bitvavo
  FOK!-Schrikkelbaas maandag 23 januari 2006 @ 11:55:58 #1
1972 Swetsenegger
Egocentrische Narcist
pi_34373592
hoi!

tvp dus

Deel 20 alweer
pi_34373749
quote:
Op maandag 23 januari 2006 12:16 schreef the_disheaver het volgende:
hoi!

tvp dus

Deel 20 alweer
eensch.


kan je een $string niet-overschrijfbaar maken voor die pageload?

dus
$string = "bla";

bescherm($string); (ofzo )

en dat
$string = "bla2";

dan niet meer werkt?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_34373798
quote:
Op maandag 23 januari 2006 12:21 schreef Desdinova het volgende:

[..]

eensch.


kan je een $string niet-overschrijfbaar maken voor die pageload?

dus
$string = "bla";

bescherm($string); (ofzo )

en dat
$string = "bla2";

dan niet meer werkt?
kun je niet isset() gebruiken?

En misschien een functie ervan maken om wat typewerk te voorkomen?
pi_34373828
define('my_define', 'bla')
pi_34373831
quote:
Op maandag 23 januari 2006 11:51 schreef Tokus het volgende:
Waarom wordt er door de mensen hier die mysql'en zovaak nadrukkelijk een inner join aangegeven zoals hierboven ("inner join user u on i.userid = u.userid") ?

Dat kan toch ook gewoon door 2 tabellen te noemen en in je where-clause ze te verbinden?
Omdat de query veel overzichtelijker wordt. Je ziet in een oogopslag hoe de tabellen gejoined worden (inner/left/right) en met welke velden (userID, locationID) en welke condities alleen het resultaat filteren. Zeker als er veel tabellen in de query staan of als er op meerdere kolommen wordt gejoind dan wordt de notatie zonder joins snel een onoverzichtelijke lijst met condities.

Vergelijk

1
2
3
4
5
SELECT i.info, u.name, l.location,
FROM information i
INNER JOIN users u ON i.userID = u.userID
INNER JOIN locations l ON i.locationID = l.locationID 
WHERE i.infoID = $id 

met

1
2
3
4
5
SELECT i.info, u.name, l.location,
FROM information i, users u, locations l
WHERE i.infoID = $id 
   AND i.userID = u.userID
   AND i.locationID = l.locationID 

Met left outer joins wordt het nog onduidelijker

1
2
3
4
5
SELECT i.info, u.name, l.location,
FROM information i, users u, locations l
WHERE i.infoID = $id 
   AND i.userID *= u.userID
   AND i.locationID *= l.locationID 
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 23 januari 2006 @ 12:31:19 #7
52200 ViPeRII
It's a good day to die
pi_34373976
Kan je dit nog iets verder verklaren?
Volgens mij is een $string altijd overschrijfbaar?
-- ViPeRII --
pi_34374012
daar was k al bang voor ja
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_34374042
quote:
Op maandag 23 januari 2006 12:31 schreef ViPeRII het volgende:
Kan je dit nog iets verder verklaren?
Volgens mij is een $string altijd overschrijfbaar?
maar een define niet.
pi_34374126
quote:
Op maandag 23 januari 2006 12:34 schreef Ro�a� het volgende:

[..]

maar een define niet.
ook niet zo:

define ("string", "bla");
define ("string", "bla2");

?
As a rule, I never touch anything more sophisticated and delicate than myself.
  maandag 23 januari 2006 @ 12:41:04 #11
120139 freiss
Hertog Jan :9~
pi_34374236
tvp
HJ 14-punt-gift.
Lijst met rukmateriaal!
pi_34374260
quote:
Op maandag 23 januari 2006 12:37 schreef Desdinova het volgende:

[..]

ook niet zo:

define ("string", "bla");
define ("string", "bla2");

?
nee.
  FOK!-Schrikkelbaas maandag 23 januari 2006 @ 12:43:12 #13
1972 Swetsenegger
Egocentrische Narcist
pi_34374300
Ik ben alweer anderhalf jaar aan het PHP'en
pi_34376956
quote:
Op maandag 23 januari 2006 12:41 schreef Ro�a� het volgende:

[..]

nee.
Je vergeet te iets te vertellen

1
2
3
define('CONSTANTE', 'blaat');

echo CONSTANTE;  //zonder de $
pi_34377039
quote:
Op maandag 23 januari 2006 12:25 schreef SuperRembo het volgende:

[..]

Omdat de query veel overzichtelijker wordt. Je ziet in een oogopslag hoe de tabellen gejoined worden (inner/left/right) en met welke velden (userID, locationID) en welke condities alleen het resultaat filteren. Zeker als er veel tabellen in de query staan of als er op meerdere kolommen wordt gejoind dan wordt de notatie zonder joins snel een onoverzichtelijke lijst met condities.

...
Ik geloof zelfs dat een JOIN intern sneller is dan een WHERE-clause in MySQL. Een WHERE-clausule wordt namelijk ná het maken van een resultset toegepast, in het geval van een WHERE-join dus nadat álle rijen met álle andere rijen zijn 'verbonden'. Een JOIN zal al vanaf het begin een restrictie toepassen waarna alsnog een WHERE-clausule kan worden toegepast.

Waarschijnlijk zal MySQL dit tegenwoordig optimaliseren, maar het was voor mij wel één van de redenen om JOINs te gaan gebruiken.
pi_34379882
quote:
Op maandag 23 januari 2006 14:07 schreef JeRa het volgende:

[..]

Je vergeet te iets te vertellen
[ code verwijderd ]
ik zag t al op php.net


nog ff n vraagje,

wat is de beste manier om te voorkomen/checken of inputfields leeg zijn?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_34380432
Ik heb ff een klein vraagje over meertalige websites.
Stel ik heb de volgende code:
1
2
3
<?php
echo "Beste " . $gebruiker . " op deze site " . $nogeenvar;
?>

Stel ik zou de strings uit de database halen(voor meerdere talen), hoe zou ik zoiets dan het beste kunnen aanpakken?
pi_34380811
Je zou een sessie variabele kunnen maken waar je de taal in opslaat en die gebruiken in je query, of een GET variabele in je url meegeven en die meegeven in je query.
pi_34380908
Ja ok, dat had ik ook al bedacht. Mijn probleem zit um in de string zoals je hier boven ziet.
Mijn pagina's zien er namelijk vooral zo uit. Dus dan zou ik voor "Beste " en " op deze site " en apart veld moeten maken in de database waardoor je foute zinsconstructies krijgt(al zeker als het alles gaat vertalen).

Iemand die hier ervaging me heeft?
pi_34381405
1
2
3
<?php
define
( 'TVP', true );
?>
pi_34381587
quote:
Op maandag 23 januari 2006 16:02 schreef Da_Koen het volgende:
Ja ok, dat had ik ook al bedacht. Mijn probleem zit um in de string zoals je hier boven ziet.
Mijn pagina's zien er namelijk vooral zo uit. Dus dan zou ik voor "Beste " en " op deze site " en apart veld moeten maken in de database waardoor je foute zinsconstructies krijgt(al zeker als het alles gaat vertalen).

Iemand die hier ervaging me heeft?
Dat kan zo:

$tekst = "Beste [naam] op deze site [site].";
$naam = "Jan";
$site = "fok.nl";

$tekst1 = str_replace("[naam]", $tekst, $naam);
$tekst2 = str_replace("[site]", $tekst1, $site);
echo $tekst2;

Niet zo netjes, maar je snapt het idee wel denk ik.
pi_34381914
Dat is idd wel een aardige oplossing, bedankt. Weet er misschien nog iemand anders een (minder omslachtige )oplossing hiervoor?
pi_34382030
quote:
Op maandag 23 januari 2006 16:33 schreef Da_Koen het volgende:
Dat is idd wel een aardige oplossing, bedankt. Weet er misschien nog iemand anders een (minder omslachtige )oplossing hiervoor?
Ik stop vertalingen meestal niet in een database maar in aparte bestanden, voorbeeldje:
1
2
$lang = array();
$lang['welcome'] = 'Welkom %s!';

1
2
$lang = array();
$lang['welcome'] = 'Welcome, %s!';

En dan include je het juiste taalbestand in je core, waarna je zoiets kunt doen:
1printf($lang['welcome'], $naam);

Maar er zijn natuurlijk nog veel meer manieren om het te doen
  maandag 23 januari 2006 @ 21:32:33 #24
22273 Dizer
Save the beard!
pi_34393076
Er werd mij verwezen om hierheen te komen ondanks dat het om een PERL vraagje gaat. Maar ja, PHP is geloof ik gebaseerd op PERL...

Wat doe ik fout? Ik wil puur een aantal velden invoegen in de database..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl -w
use DBI;
use Mysql;

$DBHOST = "localhost";
$DBNAME = "test";
$DBUSER = "root";
$DBPASS = "root";

$DB = Mysql->connect($DBHOST, $DBNAME, $DBUSER, $DBPASS);

$qry = qq~INSERT INTO movie VALUES ("3", "blaat");

$db->disconnect;


Ik krijg steeds de foutmelding: Can't find string terminator "~" anywhere before EOF at db.pl line 12.
Friends don't let friends remain beardless...
pi_34393483
quote:
Op maandag 23 januari 2006 15:36 schreef Desdinova het volgende:

[..]

ik zag t al op php.net


nog ff n vraagje,

wat is de beste manier om te voorkomen/checken of inputfields leeg zijn?
isset() incombinatie met empty() en eventueel preg_match
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')