abonnement Unibet Coolblue Bitvavo
pi_50430209
quote:
Op woensdag 13 juni 2007 22:29 schreef Chandler het volgende:
Maar weet jij de oplossing voor wel of geen " in het argument?
Ja, zoals ik al zei, zoveel mogelijk matchen en pas zodra je een veld 'waarde' hebt kijken naar het type
pi_50430600
quote:
Op woensdag 13 juni 2007 21:03 schreef fokME2 het volgende:

[..]

Of kijk in de cheatsheet!
Dat is handig Meteen maar ff printen
pi_50431109
quote:
Op woensdag 13 juni 2007 22:45 schreef The_Terminator het volgende:

[..]

Dat is handig Meteen maar ff printen
Stond al tijden in de OP, maar daar valt het natuurlijk niet zo op. Op die website staan er nog meer. Denk aan mysql, css, mod_rewrite en javascript.

HIer dus.

[ Bericht 12% gewijzigd door fokME2 op 13-06-2007 23:02:33 ]
pi_50431649
Die cheatsheets zijn heilig
Heb ze geprint op m'n bureau liggen.
pi_50433118
ik heb die cheatsheets ook een tijd op m'n bureau gehad, maar ik gebruikte ze eigenlijk nooit... d'r stond altijd net niet op wat ik wilde weten, PHP.net was dan toch handiger
pi_50433139
quote:
Op woensdag 13 juni 2007 22:29 schreef Chandler het volgende:
Weet ik niet, kan het nu helaas niet testen even geen PHP omgeving en wachtwoorden in de buurt... maar zou graag de keuze in de regex willen hebben
dus de quotes optioneel bedoel je?
Dan kan je doen door er een vraagteken achter te zetten
pi_50433170
quote:
Op woensdag 13 juni 2007 19:01 schreef Xcalibur het volgende:
zo, daar ben ik weer

Ik heb dus twee tabellen, homes en beds. Ik wil een lijst met alle homes krijgen, met bij iedere home een count van het aantal beds. Ik probeer dat met onderstaande query (vereenvoudigd), maar die geeft dus geen homes terug als hij geen bijbehorende beds kan vinden:
[ code verwijderd ]

Varianten met RIGHT JOIN, LEFT OUTER JOIN, etc hebben allemaal geen resultaat.

Ik ga nu even met de code van Geqxon aan de slag
Iemand nog suggesties om deze query aan de praat te krijgen?
pi_50433396
Kun je, al dan niet via een PM, wat meer informatie over de tabellen danwel je gewenste resultaat geven?
pi_50439735
jahoor
wat wil je precies weten, buiten bovenstaand verhaal + query?
  donderdag 14 juni 2007 @ 14:18:15 #220
107951 JortK
Immer kwaliteitsposts
pi_50449350
quote:
Op donderdag 14 juni 2007 09:35 schreef Xcalibur het volgende:
jahoor :)
wat wil je precies weten, buiten bovenstaand verhaal + query?
Je moet volgens mij echt naar je joins kijken, want als ik je goed begrijp wil je alle records van tabel A laten zien, met daarnaast de waarde als die er is in kolom B, en als er geen match is NULL weergeven?

FF een stukje uit Books Online, weliswaar MS SQL maar kom je misschien een aardig eind mee:

Consider a join of the authors table and the publishers table on their city columns. The results show only the authors who live in cities in which a publisher is located (in this case, Abraham Bennet and Cheryl Carson).

To include all authors in the results, regardless of whether a publisher is located in the same city, use an SQL-92 left outer join. The following is the query and results of the Transact-SQL left outer join:

1
2
3
4
5
USE pubs
SELECT a.au_fname, a.au_lname, p.pub_name
FROM authors a LEFT OUTER JOIN publishers p
   ON a.city = p.city
ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC


Here is the result set:

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
au_fname             au_lname                       pub_name          
-------------------- ------------------------------ ----------------- 
Reginald             Blotchet-Halls                 NULL
Michel               DeFrance                       NULL
Innes                del Castillo                   NULL
Ann                  Dull                           NULL
Marjorie             Green                          NULL
Morningstar          Greene                         NULL
Burt                 Gringlesby                     NULL
Sheryl               Hunter                         NULL
Livia                Karsen                         NULL
Charlene             Locksley                       NULL
Stearns              MacFeather                     NULL
Heather              McBadden                       NULL
Michael              O'Leary                        NULL
Sylvia               Panteley                       NULL
Albert               Ringer                         NULL
Anne                 Ringer                         NULL
Meander              Smith                          NULL
Dean                 Straight                       NULL
Dirk                 Stringer                       NULL
Johnson              White                          NULL
Akiko                Yokomoto                       NULL
Abraham              Bennet                         Algodata Infosystems
Cheryl               Carson                         Algodata Infosystems


The LEFT OUTER JOIN includes all rows in the authors table in the results, whether or not there is a match on the city column in the publishers table. Notice that in the results there is no matching data for most of the authors listed; therefore, these rows contain null values in the pub_name column.
pi_50449996
De JOIN op zich werkt wel, het probleem zit hem in de COUNT / GROUP BY, en dan specifiek in combinatie met een WHERE op de rechtertabel (beds).

Ik krijg wel degelijk een count van 0, als ik de WHERE leeglaat... maar dat is dus een zinloos resultaat
  donderdag 14 juni 2007 @ 15:42:03 #222
49017 Reneuh
Met je hoof
pi_50452657
Iemand idee waarom ik dit op mijn server krijg (goed)
1<form method="post" action="form2session.php?s=10">


en dit bij de externe server krijg (fout)

1<form method="post" action="form2session.php?<? echo ($s);" ?>


M.a.w. de php code wordt niet geïnterpreteerd. Mijn webhost ondersteund php 4 terwijl die andere alleen php 5 ondersteund. Maar ik kan me niet voorstellen dat dit een versieprobleem is. Lijkt me eerder een serverinstelling o.i.d.

Iemand een idee
I spoke proper England since I was a children.
pi_50452931
<? is volgens mij een short-tag, misschien staat dat uit
Probeer eens:
1<form method="post" action="form2session.php?<?php echo ($s);" ?>

En als het niet werkt: waar komt $s vandaan?
pi_50452948
probeer het eens met <?php ipv <?
Misschien staan de short open tags niet aan
pi_50453484
<?php


Wat doet deze jongen?
  donderdag 14 juni 2007 @ 16:13:13 #226
49017 Reneuh
Met je hoof
pi_50453833
Er stond eerst <?= , niet <? verkeerd overgenomen.

Maar het lijkt me ook dat het daardoor komt. Ik kan het helaas morgen pas testen. Iig al bedankt
I spoke proper England since I was a children.
pi_50453957
<?= $s; ?> is een short-tag voor <?php echo $s; ?>, maar als short-tags uitstaan op de server werkt dat niet natuurlijk
pi_50504491
quote:
Op donderdag 14 juni 2007 14:36 schreef Xcalibur het volgende:
De JOIN op zich werkt wel, het probleem zit hem in de COUNT / GROUP BY, en dan specifiek in combinatie met een WHERE op de rechtertabel (beds).

Ik krijg wel degelijk een count van 0, als ik de WHERE leeglaat... maar dat is dus een zinloos resultaat
Ik heb het anders opgelost:
1 query op de tabel houses, 1 count query op de tabel beds, en met twee foreach-loopjes aan elkaar geknoopt op id
pi_50506511
Qua performance en netheid raad ik je aan toch echt met de querys verder te gaan
pi_50506944
ik betwijfel ernstig of het met 1 query gaat....en om nou een extra query per record te gaan doen lijkt me ook niet zo optimaal

Ik had het liever anders gezien, maar ik ben best te spreken over deze oplossing
  zaterdag 16 juni 2007 @ 00:25:29 #231
12880 CraZaay
prettig gestoord
pi_50507453
quote:
Op vrijdag 15 juni 2007 23:57 schreef Geqxon het volgende:
Qua performance en netheid raad ik je aan toch echt met de querys verder te gaan
Je kunt je afvragen of twee simpele selects niet sneller zijn dan 1 zware query (geen idee of dat hiet aan de orde is).
pi_50507987
quote:
Op zaterdag 16 juni 2007 00:25 schreef CraZaay het volgende:

[..]

Je kunt je afvragen of twee simpele selects niet sneller zijn dan 1 zware query (geen idee of dat hiet aan de orde is).
Ik ben hier vrij simpel in, er moet hoe dan ook gefilterd danwel gerekend worden om deze data te verkrijgen, en daar waar MySQL hier op gebouwd is zal deze er vast beter in zijn.

Goed, misschien een slecht voorbeeld. Zolang je maar geen "SELECT * FROM `table`" acties uit gaat voeren.
  zaterdag 16 juni 2007 @ 00:47:12 #233
107951 JortK
Immer kwaliteitsposts
pi_50508112
quote:
Op woensdag 13 juni 2007 19:01 schreef Xcalibur het volgende:
zo, daar ben ik weer

Ik heb dus twee tabellen, homes en beds. Ik wil een lijst met alle homes krijgen, met bij iedere home een count van het aantal beds. Ik probeer dat met onderstaande query (vereenvoudigd), maar die geeft dus geen homes terug als hij geen bijbehorende beds kan vinden:
[ code verwijderd ]

Varianten met RIGHT JOIN, LEFT OUTER JOIN, etc hebben allemaal geen resultaat.

Ik ga nu even met de code van Geqxon aan de slag
Je syntax zou wel in deze richting moeten zitten, even je joins controleren
pi_50512635
Iets anders, gewoon uit intresse.

Ik las op tweakers dat ++$i sneller is dan $i++ maar vraag mij af waarom?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_50514659
quote:
Op donderdag 14 juni 2007 15:42 schreef Reneuh het volgende:
Iemand idee waarom ik dit op mijn server krijg (goed)

[ code verwijderd ]

en dit bij de externe server krijg (fout)


[ code verwijderd ]

M.a.w. de php code wordt niet geïnterpreteerd. Mijn webhost ondersteund php 4 terwijl die andere alleen php 5 ondersteund. Maar ik kan me niet voorstellen dat dit een versieprobleem is. Lijkt me eerder een serverinstelling o.i.d.

Iemand een idee
is:
1<form method="post" action="form2session.php?<?php echo ($s); ?>">

niet een beter idee? Je opent de aanhalingstekens namelijk in de html, en sluit ze vervolgens in de php, je krijgt dus gewoon: echo ($s);". En daar kan php niet zoveel mee
<? en <?php zou bij de meeste fatsoenlijke webservers geen verschil uit moeten maken.
  zaterdag 16 juni 2007 @ 12:07:51 #236
104583 cyberstalker
Een krachtig neen!
pi_50515583
quote:
Op zaterdag 16 juni 2007 11:25 schreef Hmail het volgende:
<? en <?php zou bij de meeste fatsoenlijke webservers geen verschil uit moeten maken.
Onzin. Ik zet short_open_tag altijd uit. Levert meer problemen op dan dat het nut heeft.
Hope for the best, prepare for the worst.
pi_50516588
Ik hoop dat jullie me op de juiste weg kunnen krijgen met mijn probleem. Ik ben een complete beginner, maar dankzij het Net weet ik de meeste problemen wel op te lossen. Soms loop ik echter tegen een probleem aan wat waarschijnlijk heel simpel is, maar waar ik toch niet uitkom. Zoals dit dus ;)

Ik wil een overzichtspagina met ArtiestNaam, ClipNaam en Genre, keurig op alfabet etc. Via het phpscriptje roep ik alle gegevens uit de database op die van belang zijn op deze pagina en geef deze weer.

Nu is het probleem dat ik ook graag meerdere genres per artiest zou willen weergeven. Ik heb hiervoor een koppeltabel aangemaakt, en gebruik nu de volgende (relevante) tabellen;

Artiest (ArtiestID, ArtiestNaam),
Nummer (NummerID, ArtiestID, NummerNaam),
Genre (GenreID, GenreNaam),
ArtiestGenre (GenreID, ArtiestID)

Nu loop ik echter tegen het probleem aan, dat ik dit niet netjes weergegeven krijg als ik een hele lijst met nummers/artiesten oproep. Zolang een artiest onder 1 genre valt, wordt dit keurig weergegeven, bij meerdere genres krijg ik echter de gegevens ook meerdere keren terug. Er wordt een nieuwe rij voor elk genre aangemaakt.

Nu krijg ik bijvoorbeeld
Savage Garden - Truly Madly, Deeply - Pop (Bij 1 ingevuld genre)
Shakira - Pure Intuition - Pop
Shakira - Pure Intuition - Latin (Bij meerdere ingevulde genres)

Terwijl de gewenste output is:
Savage Garden - Truly Madly, Deeply - Pop
Shakira - Pure Intuition - Latin, Pop


Mijn huidige script (gestript van overbodige zooi):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
    

$begin 
strtolower($_GET['c']);

$select "SELECT NummerID, NummerNaam, MJArtiest.ArtiestID, ArtiestNaam, MJGenre.GenreID, GenreNaam FROM MJNummer, MJArtiest, MJGenre, MJArtiestGenre WHERE 
MJNummer.ArtiestID = MJArtiest.ArtiestID AND
MJArtiestGenre.ArtiestID = MJArtiest.ArtiestID AND
MJArtiestGenre.GenreID = MJGenre.GenreID AND
ArtiestNaam LIKE '$begin%' ORDER BY ArtiestNaam"
;

$query mysql_query($select)or die(mysql_error());

while(
$list mysql_fetch_object($query)){

echo 
$list->ArtiestNaam;
echo 
" - ";
echo 
$list->NummerNaam;
echo 
" - ";
echo 
$list->GenreNaam;
echo 
"<BR>";
;} 
?>



Nu zou ik dus graag willen weten hoe ik dan wel de gewenste output krijg. Het is waarschijnlijk iets heel simpels, maar ik kom er zo niet uit. Wie kan me op het juiste spoor helpen?
www.muziekjunkie.nl - Voor je dagelijkse shot muziek
pi_50517144
distinct(nummerId) dan houd je dus altijd maar 1x dat nummer in je lijst met de eerste genre
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_50527310
Iemand tips hoe ik de groote van een multidimensionale array pak? Dus hoeveel arrays er in de array zitten?

sizeof en zijn synoniem count geven helaas een nul terug...
pi_50527385
quote:
Op zaterdag 16 juni 2007 19:59 schreef Geqxon het volgende:
Iemand tips hoe ik de groote van een multidimensionale array pak? Dus hoeveel arrays er in de array zitten?

sizeof en zijn synoniem count geven helaas een nul terug...
1
2
3
4
5
6
7
<?php
$lijst 
= array();
$lijst[] = array(123);
$lijst[] = array(3456);

echo 
count($lijst); // geeft 2 terug
?>
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')