abonnement Unibet Coolblue Bitvavo
  vrijdag 14 november 2008 @ 10:33:42 #201
137690 Pizzahut
Het Bora Bora Gebergte
pi_63214395
Vraagje voor MySQL:
Ik heb een MySQL query browser van de officiële website.
Nu gebruik ik die heel veel voor localhost wat ook prima werkt.
Maar nu wil ik ook een externe host, bij voorkeur dus mijn eigen website eraan toevoegen.
Kan iemand mij vertellen wat ik moet invullen bij host? (waar normaal localhost staat).
ik heb dus al http://dbadmin.one.com gedaan als mijn website.
Disturbed Mind
Het leven: Soms ben je de duif, soms het standbeeld.
pi_63214564
quote:
Op vrijdag 14 november 2008 10:33 schreef Pizzahut het volgende:
Vraagje voor MySQL:
Ik heb een MySQL query browser van de officiële website.
Nu gebruik ik die heel veel voor localhost wat ook prima werkt.
Maar nu wil ik ook een externe host, bij voorkeur dus mijn eigen website eraan toevoegen.
Kan iemand mij vertellen wat ik moet invullen bij host? (waar normaal localhost staat).
ik heb dus al http://dbadmin.one.com gedaan als mijn website.
MySQL draait gewoon op een server waarmee met een server adres/IP, gebruikersnaam en wachtwoord op ingelogd dient te worden. In plaats van localhost dus gewoon de MySQL/database server of het IP adres daarvan, en uiteraard de correcte gebruikersnaam en wachtwoord voor die server, zou genoeg moeten zijn.
  vrijdag 14 november 2008 @ 10:42:03 #203
137690 Pizzahut
Het Bora Bora Gebergte
pi_63214643
quote:
Op vrijdag 14 november 2008 10:39 schreef Tuvai.net het volgende:

[..]

MySQL draait gewoon op een server waarmee met een server adres/IP, gebruikersnaam en wachtwoord op ingelogd dient te worden. In plaats van localhost dus gewoon de MySQL/database server of het IP adres daarvan, en uiteraard de correcte gebruikersnaam en wachtwoord voor die server, zou genoeg moeten zijn.
Ik heb nu dit gedaan:
Host: http://dbadmin.one.com <- link naar mijn database
Gebr.: mijn gebruikersnaam
WW: mijn wachtwoord

Host: http://puddingbroodje.nl <- link naar mijn website
Gebr.: mijn gebruikersnaam
WW: mijn wachtwoord

beide werken niet. Standaart staat de poort op 3308 ofzo, moet dit anders staan?
Disturbed Mind
Het leven: Soms ben je de duif, soms het standbeeld.
pi_63214661
quote:
Op vrijdag 14 november 2008 10:31 schreef Tuvai.net het volgende:

[..]

Waarom zo omslachtig? Je kunt toch ook al door middel van DAY() / MONTH() / YEAR() MySQL functies in je query de records ophalen die je moet hebben?
Dat kan.
Echter de query doet nu wat het moet doen, daar kom ik later op.

Het probleem zit nu in de array
ne okuyon, bokmu var?
pi_63214776
quote:
Op vrijdag 14 november 2008 10:42 schreef Pizzahut het volgende:

[..]

Ik heb nu dit gedaan:
Host: http://dbadmin.one.com <- link naar mijn database
Gebr.: mijn gebruikersnaam
WW: mijn wachtwoord

Host: http://puddingbroodje.nl <- link naar mijn website
Gebr.: mijn gebruikersnaam
WW: mijn wachtwoord

beide werken niet. Standaart staat de poort op 3308 ofzo, moet dit anders staan?
Je MySQL server adres is NIET hetzelfde als het adres van de betreffende website / DB admin panel. Mijn websites draaien bijvoorbeeld op website.nl, terwijl de achterliggende databaseserver altijd dbserver.website.nl is.
quote:
Op vrijdag 14 november 2008 10:42 schreef saban het volgende:

[..]

Dat kan.
Echter de query doet nu wat het moet doen, daar kom ik later op.

Het probleem zit nu in de array
Dat snap ik, maar je hoeft helemaal niet met arrays te liggen kutten als je de corresponderende data al op haalt door middel van een goede query. Scheelt ook weer onnodig heen en weer geslinger en performance aangezien je op die manier ook niet eerst een boel records op haalt waar je vervolgens toch niks tot weinig mee doet.
pi_63214916
quote:
Op vrijdag 14 november 2008 10:46 schreef Tuvai.net het volgende:

[..]

Je MySQL server adres is NIET hetzelfde als het adres van de betreffende website / DB admin panel. Mijn websites draaien bijvoorbeeld op website.nl, terwijl de achterliggende databaseserver altijd dbserver.website.nl is.
[..]

Dat snap ik, maar je hoeft helemaal niet met arrays te liggen kutten als je de corresponderende data al op haalt door middel van een goede query. Scheelt ook weer onnodig heen en weer geslinger en performance aangezien je op die manier ook niet eerst een boel records op haalt waar je vervolgens toch niks tot weinig mee doet.
Ik denk dat ik mijn probleem verkeerd hebt uitgelegd.
Met een for geef ik alle dagen van een maand weer, echter in die for moet ik checken of die datum voorkomt in de database. Ik kan dus bij iedere keer dat de for loopt wel een query uitvoeren om te checken of het voorkomt, maar dan moet ik dus per request 30 keer een query uitvoeren (30 dagen in een maand).

Dus ik dacht, ik haal eerst alle data uit de database, deze stop ik in een array. Vervolgens check ik in de for of de datum voorkomt in de array(database).
ne okuyon, bokmu var?
pi_63215050
quote:
Op vrijdag 14 november 2008 10:50 schreef saban het volgende:

[..]

Ik denk dat ik mijn probleem verkeerd hebt uitgelegd.
Met een for geef ik alle dagen van een maand weer, echter in die for moet ik checken of die datum voorkomt in de database. Ik kan dus bij iedere keer dat de for loopt wel een query uitvoeren om te checken of het voorkomt, maar dan moet ik dus per request 30 keer een query uitvoeren (30 dagen in een maand).

Dus ik dacht, ik haal eerst alle data uit de database, deze stop ik in een array. Vervolgens check ik in de for of de datum voorkomt in de array(database).
Als je dus puur wilt controleren welke dagen in een gegeven maand voorkomen, is het volgende al voldoende:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$maand
=11;
$jaar=2008;

// Lege array() aanmaken
$maandenDieVoorkomenInDezeMaand=array();

// Query aanmaken die aan de hand van $maand en $jaar alle verschillende, voorkomende dagen uit tabel 'dataTabel' op haalt
$query=mysql_query("SELECT DISTINCT DAY(datumKolom) AS dag FROM dataTabel WHERE MONTH(datumKolom) = " $maand " AND YEAR(datumKolom) = " $jaar);

// Door de geretourneerde records heen loop`en
while($rij=mysql_fetch_array($query)){

    
// Van alle records die geretourneerd worden de daadwerkelijke dag naar de eerder aangemaakte array() wegschrijven
    
array_push($maandenDieVoorkomenInDezeMaand$rij[dag]);
}
?>




[ Bericht 11% gewijzigd door Tuvai.net op 14-11-2008 11:17:44 ]
pi_63215147
quote:
Op vrijdag 14 november 2008 10:55 schreef Tuvai.net het volgende:

[..]

Als je dus puur wilt controleren welke dagen in een gegeven maand voorkomen, is het volgende al voldoende:
[ code verwijderd ]

Nu heb je een array met wat er in de database staat, maar de array moet buiten de while ook nog bruikbaar zijn.
ne okuyon, bokmu var?
  vrijdag 14 november 2008 @ 10:59:57 #209
137690 Pizzahut
Het Bora Bora Gebergte
pi_63215165
quote:
Op vrijdag 14 november 2008 10:46 schreef Tuvai.net het volgende:

[..]

Je MySQL server adres is NIET hetzelfde als het adres van de betreffende website / DB admin panel. Mijn websites draaien bijvoorbeeld op website.nl, terwijl de achterliggende databaseserver altijd dbserver.website.nl is.
dus is het deze:
Host: http://dbadmin.one.com <- link naar mijn database
Gebr.: mijn gebruikersnaam
WW: mijn wachtwoord

maar die doet het ook niet.
Disturbed Mind
Het leven: Soms ben je de duif, soms het standbeeld.
pi_63215203
quote:
Op vrijdag 14 november 2008 10:59 schreef saban het volgende:

[..]

Nu heb je een array met wat er in de database staat, maar de array moet buiten de while ook nog bruikbaar zijn.
Dat is de array $maandenDieVoorkomenInDezeMaand toch ook? In de while() loop wordt 'ie enkel gevuld met de gevonden dagen; daarna kun je doen met array $maandenDieVoorkomenInDezeMaand wat je wilt (lees: vergelijken).
pi_63215226
quote:
Op vrijdag 14 november 2008 10:59 schreef Pizzahut het volgende:

[..]

dus is het deze:
Host: http://dbadmin.one.com <- link naar mijn database
Gebr.: mijn gebruikersnaam
WW: mijn wachtwoord

maar die doet het ook niet.
Nee, http://dbadmin.one.com is niet je MySQL server, maar gewoon het adres/een subdomain waar PHPMyAdmin op draait.
  vrijdag 14 november 2008 @ 11:06:27 #212
137690 Pizzahut
Het Bora Bora Gebergte
pi_63215350
quote:
Op vrijdag 14 november 2008 11:02 schreef Tuvai.net het volgende:

[..]

Nee, http://dbadmin.one.com is niet je MySQL server, maar gewoon het adres/een subdomain waar PHPMyAdmin op draait.
zodra ik naar http://phpmyadmin.mijnwebsite.nl ga, wordt ik doorverwezen naar dbadmin.one.com
Disturbed Mind
Het leven: Soms ben je de duif, soms het standbeeld.
pi_63215359
quote:
Op vrijdag 14 november 2008 11:01 schreef Tuvai.net het volgende:

[..]

Dat is de array $maandenDieVoorkomenInDezeMaand toch ook? In de while() loop wordt 'ie enkel gevuld met de gevonden dagen; daarna kun je doen met array $maandenDieVoorkomenInDezeMaand wat je wilt (lees: vergelijken).
Cool Thanks.
ne okuyon, bokmu var?
pi_63215589
quote:
Op vrijdag 14 november 2008 11:06 schreef Pizzahut het volgende:

[..]

zodra ik naar http://phpmyadmin.mijnwebsite.nl ga, wordt ik doorverwezen naar dbadmin.one.com
Dat kan, maar verandert de kwestie niet. Je MySQL server is iets heel anders dan een adres waar je je database met PhpMyAdmin beheert. Je hosting provider kan je vast wel vertellen wat je MySQL server adres is. Afhankelijk van de PhpMyAdmin versie kun je daar in ook zelf je MySQL server adres uit halen zodra je bent ingelogd.
pi_63215701
Nu we toch bezig zijn :9

Ik heb de volgende 2 arrays ($array_datum en $array_naam):
1
2
3
4
5
6
7
8
9
10
11
12
Array
(
    [0] => 1-11-2008
    [1] => 6-11-2008
    [2] => 10-11-2008
)
Array
(
    [0] => foo
    [1] => foo
    [2] => bar
)


Hoe kan ik bijvoorbeeld het volgende echo'n:
foo heeft gewerkt op 1-11-2008
of
bar heeft gewerkt op 10-11-2008
ne okuyon, bokmu var?
pi_63215877
quote:
Op vrijdag 14 november 2008 11:17 schreef saban het volgende:
Nu we toch bezig zijn

Ik heb de volgende 2 arrays ($array_datum en $array_naam):
[ code verwijderd ]

Hoe kan ik bijvoorbeeld het volgende echo'n:
foo heeft gewerkt op 1-11-2008
of
bar heeft gewerkt op 10-11-2008
1
2
3
4
5
6
7
8
9
10
<?php
$data
=array("1-1-2008""2-4-2008""2-5-2008");
$medewerkers=array("Piet""Jan""Klaas");

// Weergeef 'Jan heeft gewerkt op 1-1-2008'
echo $medewerkers[1] . ' heeft gewerkt op ' $data[0];

// Weergeef 'Klaas heeft gewerkt op 2-4-2008'
echo $medewerkers[2] . ' heeft gewerkt op ' $data[1];
?>


Een array() bestaat uit een aantal waardes. Elke waarde in een array krijgt altijd een uniek nummertje, genaamd een index. Stel ik heb de volgende array:

1
2
3
<?php
$bla 
= array("appel""peer""Sinaasappel""Ananas");
?>


Dan bestaat deze array respectievelijk uit de volgende indexes met daaraan hun corresponderende waardes:

1
2
3
4
[0] = appel
[1] = peer
[2] = Sinaasappel
[3] = Ananas


Uiteraard altijd beginnend bij 0.
  vrijdag 14 november 2008 @ 11:24:56 #217
137690 Pizzahut
Het Bora Bora Gebergte
pi_63215925
quote:
Op vrijdag 14 november 2008 11:13 schreef Tuvai.net het volgende:

[..]

Dat kan, maar verandert de kwestie niet. Je MySQL server is iets heel anders dan een adres waar je je database met PhpMyAdmin beheert. Je hosting provider kan je vast wel vertellen wat je MySQL server adres is. Afhankelijk van de PhpMyAdmin versie kun je daar in ook zelf je MySQL server adres uit halen zodra je bent ingelogd.
snap ik, alleen weet ik de link niet. even achteraan gaan.
Disturbed Mind
Het leven: Soms ben je de duif, soms het standbeeld.
pi_63216054
quote:
Op vrijdag 14 november 2008 11:24 schreef Pizzahut het volgende:

[..]

snap ik, alleen weet ik de link niet. even achteraan gaan.
Bij mijn PhpMyAdmin is het MySQL server adres en poortnummer weergeven in de titelbalk van mijn browser. Kijk daar anders eens.
pi_63216115
Thanks Tuvai, ik wilde het net een beetje anders hebben.

Waarom werkt dit niet?
1
2
3
4
5
6
7
<?php
$t 
array_keys($array_datum'10-11-2008');
$q $t['0'];
echo 
$array_naam['$q']; // geeft niks weer (moet bar weergeven)
echo $q// geeft 2 weer
echo $array_naam['2']; // geeft bar weer
?>
ne okuyon, bokmu var?
pi_63216284
quote:
Op vrijdag 14 november 2008 11:30 schreef saban het volgende:
Thanks Tuvai, ik wilde het net een beetje anders hebben.

Waarom werkt dit niet?
[ code verwijderd ]
array_keys() is een functie die zelf een array maakt van de keys (oftewel de indexes), van een opgegeven array. :) Zie http://nl2.php.net/manual/en/function.array-keys.php .

Overigens weergeeft het volgende stukje uiteraard niks:
1
2
3
<?php
echo $array_naam['$q'];
?>


Omdat je daadwerkelijk een item uit $array_naam wilt parsen die als key/index '$q' heeft; dit kan natuurlijk niet daar dit een key/indexnummer moet zijn. Dit zou dan wel moeten werken:

1
2
3
<?php
echo $array_naam[$q];
?>
pi_63216365
quote:
Op vrijdag 14 november 2008 11:35 schreef Tuvai.net het volgende:

[..]

array_keys() is een functie die zelf een array maakt van de keys (oftewel de indexes), van een opgegeven array. Zie http://nl2.php.net/manual/en/function.array-keys.php .

Overigens weergeeft het volgende stukje uiteraard niks:
[ code verwijderd ]

Omdat je daadwerkelijk een item uit $array_naam wilt parsen die als key/index '$q' heeft; dit kan natuurlijk niet daar dit een key/indexnummer moet zijn. Dit zou dan wel moeten werken:
[ code verwijderd ]
Damn I fuckin love you
ne okuyon, bokmu var?
pi_63216771
quote:
Op vrijdag 14 november 2008 @ 11:37 schreef saban het volgende:

[..]

Damn I fuckin love you :D
Kun je die arrays niet beter combineren?

1
2
3
4
5
6
7
<?php
$combiarray
['1-11-2008'] => 'foo';
$combiarray['6-11-2008'] => 'foo';
$combiarray['10-11-2008'] => 'bar';

echo 
$combiarray[datum];
?>

Is afhankelijk van wat je er mee wilt, maar misschien een idee.
  vrijdag 14 november 2008 @ 11:53:21 #223
187069 slacker_nl
Sicko pur sang
pi_63216948
quote:
Op vrijdag 14 november 2008 11:30 schreef saban het volgende:
Thanks Tuvai, ik wilde het net een beetje anders hebben.

Waarom werkt dit niet?
[ code verwijderd ]
'' (single quotes) expand een value niet, "" (doubel quotes) wel.

Doe maar eens:

1
2
3
4
5
<?php
echo $bla;
echo 
"$bla";
echo 
'$bla';
?>


Dit is overigens zo in bijna alle talen.
In theory there is no difference between theory and practice. In practice there is.
pi_63244384
Ik wil contracten opslaan in mijn mysql tabel contracten, in de vorm van timestamps. Nu ga ik bij het inserten van de contracten controleren of er geen periode een dubbel contract bestaat.
Als ik dus een contract afsluit van 15-dec-08 tot 15-jun-09, mag er geen nieuw contract ingevoerd worden die de periode op welke manier ook overlapt. Dus geen
- overlap aan het begin van het bestaande contract
- overlap aan het einde van het bestaande contract
- overlap door volledig binnen de periode te vallen (01-jan-09 / 01-mei-09)
- exact gelijke overlap. (f5-en)

mijn tabel contracten bevat in ieder geval de volgende eigenschappen:
- datum_start
- datum_einde
- klant_id

nu heb ik de volgende query opgesteld, maar deze werkt nog niet zoals hij zou moeten werken.


1
2
3
<?php
$query 
"SELECT * FROM contracten WHERE datum_start >= ".$start." AND datum_start <= ".$start." AND datum_einde >= ".$eind." AND datum_einde <= ".$eind." AND klant_id = ".$klant_id.";";
?>


hoe maak ik hem juist werkend?
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
  zaterdag 15 november 2008 @ 15:39:23 #225
75592 GlowMouse
l'état, c'est moi
pi_63245055
Je hebt overlap als de startdatum of de einddatum van het nieuwe contract ligt tussen de start- en einddatum van een bestaand contract. Dat is equivalent met [de startdatum van het nieuwe contract ligt tussen de start- en einddatum van een bestaand contract] of [de einddatum van het nieuwe contract ligt tussen de start- en einddatum van een bestaand contract].
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_63245466
Ik zou het overigens niet met een timestamp doen, als je het tijdcomponent toch niet gebruikt, maar gewoon met een date veld
pi_63245571
quote:
Op zaterdag 15 november 2008 15:39 schreef GlowMouse het volgende:
Je hebt overlap als de startdatum of de einddatum van het nieuwe contract ligt tussen de start- en einddatum van een bestaand contract. Dat is equivalent met [de startdatum van het nieuwe contract ligt tussen de start- en einddatum van een bestaand contract] of [de einddatum van het nieuwe contract ligt tussen de start- en einddatum van een bestaand contract].
Dan kom ik toch hierop uit:
1
2
3
<?php
$query 
"SELECT * FROM contracten WHERE (datum_start >= ".$start." AND datum_einde <= ".$start.") OR (datum_start >= ".$eind." AND datum_einde <= ".$eind.") AND customer = ".$customer.";";
?>


En dat werkt ook niet..
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_63245613
of toch zo:
1
2
3
<?php
$query 
"SELECT * FROM contracten WHERE (datum_start <= ".$start." AND datum_einde >= ".$start.") OR (datum_start <= ".$eind." AND datum_einde >= ".$eind.") AND customer = ".$customer.";";
?>


lijkt te werken...
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_63257297
Ik zou ook eens kijken naar BETWEEN. Dan kom je op zoiets uit:
1
2
3
4
5
6
7
<?php
$query 
'SELECT * FROM contracten
WHERE
( ('
.$start.' BETWEEN datum_start AND datum_einde)
    OR ('
.$eind.' BETWEEN datum_start AND datum_einde) )
AND customer = '
.$customer;
?>


[ Bericht 3% gewijzigd door Light op 16-11-2008 11:30:38 ]
pi_63257910
Handig zeg, al die query's die voor meer dan de helft buiten het scherm vallen
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_63258030
quote:
Op zondag 16 november 2008 11:23 schreef SuperRembo het volgende:
Handig zeg, al die query's die voor meer dan de helft buiten het scherm vallen
Zo, toch maar even wat enters toegevoegd
pi_63264481
Ik ben bezig met een overzicht van verschillende informatie van verschillende sites voor eigen gebruik. Hiervoor gebruik ik de functie "file_get_contents". Dit lukt goed. Ik krijg van een welbepaalde pagina een volledige lap HTML-code.

De info die ik nodig heb staat tussen <titlered>xxx</titlered>. Hoe laat ik enkel deze informatie zien? Wie helpt me op weg?
pi_63269907
quote:
Op zondag 16 november 2008 @ 15:43 schreef everybodysweird het volgende:
Ik ben bezig met een overzicht van verschillende informatie van verschillende sites voor eigen gebruik. Hiervoor gebruik ik de functie "file_get_contents". Dit lukt goed. Ik krijg van een welbepaalde pagina een volledige lap HTML-code.

De info die ik nodig heb staat tussen <titlered>xxx</titlered>. Hoe laat ik enkel deze informatie zien? Wie helpt me op weg?
Met een regular expression

<tilered>(.*)</titlered>
pi_63270034
Bedankt. Ondertussen heb ik al de functie preg_match_all gevonden. Ik krijg ondertussen alles tussen <xxx>tekst<xxx> mooi gefilterd. Echter, ik wil nu enkel de "tekst" weergeven waar een weekdag (maandag, dinsdag, woensdag, etc.) in de tekst staat. Iemand een idee voor deze regular expression?
pi_63271655
Ik heb een vraagje over statistieken.

Voor mijn systeem wil ik nu het volgende inbouwen.
- Start pagina (de pagina waar de gebruiker op binnenkomt) (reeds gedaan, simpel)
- Exit pagina (de laatste pagina waar de gebruiker op is geweest voordat hij van mijn site afging)

Hoe los ik dit database technisch op?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_63273754
quote:
Op zondag 16 november 2008 20:38 schreef Chandler het volgende:
Ik heb een vraagje over statistieken.

Voor mijn systeem wil ik nu het volgende inbouwen.
- Start pagina (de pagina waar de gebruiker op binnenkomt) (reeds gedaan, simpel)
- Exit pagina (de laatste pagina waar de gebruiker op is geweest voordat hij van mijn site afging)

Hoe los ik dit database technisch op?
Gewoon bij iedere pagina in de database opslaan waar de gebruiker op het moment is?
ne okuyon, bokmu var?
pi_63274799
quote:
Op zondag 16 november 2008 20:38 schreef Chandler het volgende:
Ik heb een vraagje over statistieken.

Voor mijn systeem wil ik nu het volgende inbouwen.
- Start pagina (de pagina waar de gebruiker op binnenkomt) (reeds gedaan, simpel)
- Exit pagina (de laatste pagina waar de gebruiker op is geweest voordat hij van mijn site afging)

Hoe los ik dit database technisch op?
ja, iedere pagina opslaan dus...
Wanneer hij weggaat weet je niet namelijk, dus je weet het pas op het moment dat je geen volgende pagina meer krijgt ... en dan moet je dus weten wat de vorige was
  maandag 17 november 2008 @ 12:47:14 #238
12880 CraZaay
prettig gestoord
pi_63285946
quote:
Op zondag 16 november 2008 20:38 schreef Chandler het volgende:
Ik heb een vraagje over statistieken.
Google Analytics?
pi_63289148
Duidelijk en CraZaay, ik vind graag het wiel opnieuw uit!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_63293177
quote:
Op zondag 16 november 2008 10:31 schreef Light het volgende:
Ik zou ook eens kijken naar BETWEEN. Dan kom je op zoiets uit:
[ code verwijderd ]
cool thnx, nooit aan die optie gedacht, maar werkt een stuk makkelijker. heb eerder ook al eens met die probleem gezeten..
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_63332021
Op mijn vorige vraag heb ik een vervolg en natuurlijk heb ik gezocht maar kon hier niets begrijpends over vinden..

Is het mogelijk om het MySQL 5.0 een query in een query te doen. BV

Ik wil van een tabel waarin voor gebruikers de laatste referer staat

1tabel: `user_referer_last_tmp` (site_id, ip_id, ref_id, timestamp)


waarbij ik een unique op site_id en ip_id heb en deze middels een ON DUPLICATE KEY de ref_id aanpas gebruiken om een andere tabel te updaten.

1tabel: `users_referer_last` (site_id`, `ref_id`, `hits`)


waarbij ik een een unique op site_id en ref_id en weer ON DUPLICATE KEY waarbij ik dit keer de hits met 1 wil verhogen.

Dus in het kort de query

1. lees items uit tabel_referer_last_tmp waarbij de tijd minimaal een uur geleden is (timestamp)
2. insert deze in tabel_referer_last (of update hits)
3. verwijder gebruikte items uit tabel_referer_last_tmp

En indien hier geen simpele oplossing voor is, hoe los ik dit wel praktisch en efficient op ;)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_63332264
Bluh, ik zit vast.
Ik heb een stukje geschreven voor m'n site om in het menu de laatste 5 items uit een bepaalde nieuws categorie te laten zien.
Na lang(!) proberen eindelijk een combinatie gevonden die werkte en kon ik eindelijk door naar de volgende stap.
Ik heb namelijk bij die categorie een extra tekst in de bericht title staan om het wat duidelijker te maken.
Nu wil ik dat wel houden, maar uiteraard niet laten zien in het menu want dat menu is al vernoemd naar die extra aanduiding.
Enfin... ik zit dus een beetje vast want ik kan nérgens vinden hoe ik in php de eerste 9 karakters van de opgehaalde titel kan verwijderen.


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
$eol_separator = "</td></tr>";
$sol_separator = "<tr><td valign='top' style='text-align:left; padding-top: 4px;'>";
$qry = "SELECT news_id, news_title, news_category FROM #news WHERE news_render_type = 0 AND news_category = 3 ORDER BY news_id DESC LIMIT 0,".$count;


if($sql2->db_Select_gen($qry))
{
   $n_text = "<table cellspacing='0' cellpadding='0' style='width:100%; border-collapse: collapse;'>";
   while ($row = $sql2->db_Fetch())
   {      
      $title = $tp->toHTML($row['news_title']);

      if ($curcount < $count){
         $n_text .=$sol_separator ."<span style='font-size: 10px; color: #000000; margin-right: 8px;padding-bottom: 4px;'><em>".$time."</em></span></td>";
         $n_text .="<td valign='top' align='left' style='padding-top: 4px;padding-bottom: 4px;border-bottom:1px dotted #CCCCCC;'><a href='".e_HTTP."news.php?item.".$row['news_id']."'>".$title."</a>".$eol_separator;
      }else{
         $n_text .=$sol_separator ."<span style='font-size: 10px; color: #000000; margin-right: 8px;'><em>".$time."</em></span></td>";
         $n_text .="<td valign='top' align='left' style='padding-top: 4px;'><a href='".e_HTTP."news.php?item.".$row['news_id']."'>".$title."</a>".$eol_separator;
      }
        
      $curcount++;
   }
   $n_text .= "</table>";
}
else
{
   $n_text = $no_news;
}
$ns->tablerender($caption, $n_text);



Even nog eens in het kort wat ik graag zou willen maken;
- Uit '#news' wordt o.a. de 'news_title' gehaald
- Hier moeten de eerste 9 karakters van weg, bij alle titles van de items uit die categorie
- Het mag alleen effect hebben op het menu, niet op de database entry

Na een uurtje of 4 te hebben gezocht met mijn grote vriend heb ik het een beetje opgegeven en heb ik besloten elders hulp te zoeken. :)
Ik kom niet om jullie het werk te laten doen, 99/100 keer blijf ik prielen tot ik het zelf heb opgelost, juist om er van te leren.
Als je het dus duidelijk uitlegt schrijf ik het dus zelf graag zodat het ook blijft steken.


Thanks,
djpdjpnl
pi_63332351
Misschien kan die grote vriend wat beter helpen.
pi_63332654
Die pagina heb ik al enige tijd doorgelezen maar dit is niet de oplossing, Light.
Ik heb namelijk niet 1 vaste tekst die aangepast wordt.
Het ziet er zo ongeveer uit;

'123456789 pizza
123456789 schnitzel
123456789 pindakaas'

Die 1 t/m 9 moet eruit en ik kan dus niet zeggen als er ''123456789 pizza' staat dan moet 123456789 eruit' want ik weet nu nog niet wat er op de plek van pizza komt te staan.
Substr zou dus kunnen helpen mits hij de plek van pizza variabel kan maken en dat snap ik niet hehe.
pi_63332715
Ik en preg_match_all, het blijft een drama. Ik laad een pagina in met een heleboel items die ik een array wil hebben.
Ff heel simpel voorbeeldje:
1
2
3
4
5
6
<table>
<tr>
<td>Item 1</td>
<td>Item 2</td>
</tr>
</table>

Nu wil ik dus Item 1 en Item 2 in een array hebben. Nu is het probleem dat de lengte van de items heel erg varieert, en het ook over meerdere regels loopt. Als ik dan een expressie als "<td>(.*)<\/td>/s" gebruik, dan krijg ik dus als resultaat "<td>Item 1</td><td>Item 2</td>" :? :{

Hoop dat m'n uitleg een beetje duidelijk is :+
  dinsdag 18 november 2008 @ 23:33:45 #246
75592 GlowMouse
l'état, c'est moi
pi_63332947
djpdjpnl: sla die 123456789 op in een andere kolom. En anders kun je via substring (wat al aangedragen was, maar dit kun je beter in MySQL al doen) gewoon de eerste 10 karakters weghalen.
Piles: kijk eens naar greediness.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  dinsdag 18 november 2008 @ 23:37:40 #247
75592 GlowMouse
l'état, c'est moi
pi_63333054
quote:
Op dinsdag 18 november 2008 23:03 schreef Chandler het volgende:
Dus in het kort de query

1. lees items uit tabel_referer_last_tmp waarbij de tijd minimaal een uur geleden is (timestamp)
2. insert deze in tabel_referer_last (of update hits)
3. verwijder gebruikte items uit tabel_referer_last_tmp
Kijk eens hiernaar. Het deleten wordt sowieso een aparte query. Je moet er daarom ook rekening mee houden dat er tussen de eerste twee stappen en de laatste stap wat tijd kan zitten, zodat als je de timestamp niet constant houdt, je enkele rijen verwijdert die je niet verwerkt hebt.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_63333098
quote:
Op dinsdag 18 november 2008 23:33 schreef GlowMouse het volgende:
Piles: kijk eens naar greediness.
Modifer U dus Nog nooit gebruikt
Dank u
pi_63333975
quote:
Op dinsdag 18 november 2008 23:33 schreef GlowMouse het volgende:
djpdjpnl: sla die 123456789 op in een andere kolom. En anders kun je via substring (wat al aangedragen was, maar dit kun je beter in MySQL al doen) gewoon de eerste 10 karakters weghalen.
Sorry, ik denk dat ik wel in dit topic pas. Ik snap het niet helemaal. Als ik 1-9 elders wil opslaan kost me dat ontiegelijk veel code werk en da's denk ik niet rendabel voor wat ik aan het maken ben.

De substring, hoe krijg ik die aan de title gekoppeld dat ie de substring variabel aan de title hangt en niet aan niks? Zou 't helpen als ik op line 12 een extra regel tik over hoe $title en substring samen wat doen? Ik weet niet echt hoe ik dat moet gaan schrijven namelijk.
pi_63336300
Substr() is toch niet zo heel lastig? Je geeft op op welke string je de bewerking wilt uitvoeren en hoeveel tekens vanaf het begin je wilt overslaan. Wat er daarna staat, is helemaal niet interessant. Zoiets dus:
1
2
3
<?php
$title 
$tp->toHTML(substr($row['news_title'], 10));
?>

(Misschien maakt de volgorde van toHTML() en substr() voor het resultaat hier weinig uit, maar dit is wel de veiligere volgorde. Als je eenmaal een html-string hebt, moet je daar niet meer in gaan knippen.
pi_63337229
quote:
Op dinsdag 18 november 2008 23:37 schreef GlowMouse het volgende:
Kijk eens hiernaar. Het deleten wordt sowieso een aparte query. Je moet er daarom ook rekening mee houden dat er tussen de eerste twee stappen en de laatste stap wat tijd kan zitten, zodat als je de timestamp niet constant houdt, je enkele rijen verwijdert die je niet verwerkt hebt.
Daar had ik naar gekeken maar kon er niets mee tenzij ik 3 queries ga gebruiken. Tevens wilde ik de timestamp van time() (php) gebruiken om zo te voorkomen dat ik nieuwe rijen verwijder daar waar het niet nodig is..

Heb je nog meer tips?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  FOK!-Schrikkelbaas woensdag 19 november 2008 @ 13:28:52 #252
1972 Swetsenegger
Egocentrische Narcist
pi_63343808
include('../map/bestand.php');

Hiermee ga je een folder omhoog vanuit de folder waarin je bestand staat. Maar hoe kan ik nu terug naar de root?
pi_63344392
quote:
Op woensdag 19 november 2008 13:28 schreef Swetsenegger het volgende:
include('../map/bestand.php');

Hiermee ga je een folder omhoog vanuit de folder waarin je bestand staat. Maar hoe kan ik nu terug naar de root?
Probeer eens ~ (weet het niet zeker).
ne okuyon, bokmu var?
  woensdag 19 november 2008 @ 14:02:06 #254
137690 Pizzahut
Het Bora Bora Gebergte
pi_63344691
weet iemand hoe ik een RSS feed kan uitlezen in php?
Deze bijvoorbeeld:
http://www.nu.nl/deeplink_rss2/index.jsp?r=Algemeen

Op google kom ik steeds deze tegen:
1
2
3
4
5
6
7
8
9
<?php
$xml = simplexml_load_file('http://feeds.feedburner.com/tweakers/nieuws');

foreach($xml->channel->item as $item)

    echo '<h1>' .  $item->title . '</h1>';
    echo '<div>' . $item->description . '</div>';
}
?>

Alleen werkt deze niet.
Disturbed Mind
Het leven: Soms ben je de duif, soms het standbeeld.
  FOK!-Schrikkelbaas woensdag 19 november 2008 @ 14:09:16 #255
1972 Swetsenegger
Egocentrische Narcist
pi_63344885
Ik heb het pad er nu maar hard ingezet. ~/ was het niet
  woensdag 19 november 2008 @ 14:20:57 #256
136730 PiRANiA
All thinking men are atheists.
pi_63345207
quote:
Op woensdag 19 november 2008 13:28 schreef Swetsenegger het volgende:
include('../map/bestand.php');

Hiermee ga je een folder omhoog vanuit de folder waarin je bestand staat. Maar hoe kan ik nu terug naar de root?
INCLUDE("/home/user/bla/bla");
  woensdag 19 november 2008 @ 14:21:45 #257
137676 TommyGun
Stik er maar in!
pi_63345227
include('../../map/bestand.php'); ook niet?

Edit; of zoals hierboven...
  woensdag 19 november 2008 @ 14:28:08 #258
192166 Paupermans
They made me do it
pi_63345396
quote:
Op woensdag 19 november 2008 13:28 schreef Swetsenegger het volgende:
include('../map/bestand.php');

Hiermee ga je een folder omhoog vanuit de folder waarin je bestand staat. Maar hoe kan ik nu terug naar de root?
In php.ini kun je ook de include_path variabele aanpassen, zodat php standaard in bepaalde mappen zoekt naar include bestanden. Dan hoef je slechts include('bestand.php') aan te roepen en php zoekt zelf uit in welke directory dat bestand staat. Zorg er uiteraard wel voor dat al je include bestanden een unieke naam hebben.
  FOK!-Schrikkelbaas woensdag 19 november 2008 @ 14:35:20 #259
1972 Swetsenegger
Egocentrische Narcist
pi_63345610
quote:
Op woensdag 19 november 2008 14:20 schreef PiRANiA het volgende:

[..]

INCLUDE("/home/user/bla/bla");
Ja, das gewoon hard het pad erin zetten.
quote:
Op woensdag 19 november 2008 14:28 schreef Paupermans het volgende:

[..]

In php.ini kun je ook de include_path variabele aanpassen, zodat php standaard in bepaalde mappen zoekt naar include bestanden. Dan hoef je slechts include('bestand.php') aan te roepen en php zoekt zelf uit in welke directory dat bestand staat. Zorg er uiteraard wel voor dat al je include bestanden een unieke naam hebben.
Op shared hosting kom je daar niet bij.

Maar ik weet dat er gewoon een code voor is. In DOS is het CD \ volgens mij
  woensdag 19 november 2008 @ 14:37:28 #260
63192 ursel
"Het Is Hier Fantastisch!
pi_63345673
Is het niet een enkele punt??
include('./map/bestand.php');
  woensdag 19 november 2008 @ 14:43:53 #261
12880 CraZaay
prettig gestoord
pi_63345870
quote:
Op woensdag 19 november 2008 14:37 schreef ursel het volgende:
Is het niet een enkele punt??
include('./map/bestand.php');
Da's de huidige directory.
  woensdag 19 november 2008 @ 14:45:51 #262
12880 CraZaay
prettig gestoord
pi_63345940
quote:
Op woensdag 19 november 2008 13:28 schreef Swetsenegger het volgende:
include('../map/bestand.php');

Hiermee ga je een folder omhoog vanuit de folder waarin je bestand staat. Maar hoe kan ik nu terug naar de root?
'/' is je root Je bedoelt waarschijnlijk je document_root. Probeer eens $_SERVER["DOCUMENT_ROOT"]
pi_63346915
quote:
Op woensdag 19 november 2008 07:21 schreef Light het volgende:
Substr() is toch niet zo heel lastig? Je geeft op op welke string je de bewerking wilt uitvoeren en hoeveel tekens vanaf het begin je wilt overslaan. Wat er daarna staat, is helemaal niet interessant. Zoiets dus:
[ code verwijderd ]

(Misschien maakt de volgorde van toHTML() en substr() voor het resultaat hier weinig uit, maar dit is wel de veiligere volgorde. Als je eenmaal een html-string hebt, moet je daar niet meer in gaan knippen.
Ik zat weer te moeilijk te denken. Light, dankjewel!
pi_63349557
quote:
Op woensdag 19 november 2008 13:28 schreef Swetsenegger het volgende:
include('../map/bestand.php');

Hiermee ga je een folder omhoog vanuit de folder waarin je bestand staat. Maar hoe kan ik nu terug naar de root?
Wat bedoel je met de root? Gewoon / ?
  woensdag 19 november 2008 @ 19:32:37 #265
75592 GlowMouse
l'état, c'est moi
pi_63353747
quote:
Op woensdag 19 november 2008 13:28 schreef Swetsenegger het volgende:
include('../map/bestand.php');

Hiermee ga je een folder omhoog vanuit de folder waarin je bestand staat. Maar hoe kan ik nu terug naar de root?
Je gaat geen folder omhoog, de current working directory blijft gewoon hetzelfde. Zie ook http://nl3.php.net/getcwd
quote:
Op woensdag 19 november 2008 09:02 schreef Chandler het volgende:

[..]

Daar had ik naar gekeken maar kon er niets mee tenzij ik 3 queries ga gebruiken.
Dan doe je wat fout. Simpele testcase:
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE `test` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `count` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`)
);
CREATE TABLE `testtmp` (
  `id` int(10) unsigned NOT NULL
);
INSERT INTO `testtmp` VALUES (1);
INSERT INTO `testtmp` VALUES (1);
INSERT INTO `testtmp` VALUES (2);
INSERT INTO `testtmp` VALUES (1);

En dan deze query een paar keer doen:
1INSERT INTO test(id,count) (SELECT id,1 FROM testtmp)  ON DUPLICATE KEY UPDATE count=count+1;
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  FOK!-Schrikkelbaas woensdag 19 november 2008 @ 19:40:35 #266
1972 Swetsenegger
Egocentrische Narcist
pi_63353993
quote:
Op woensdag 19 november 2008 16:49 schreef Light het volgende:

[..]

Wat bedoel je met de root? Gewoon / ?
Laat ik het simpeler uitleggen.

Mijn script staat in /path/naar/mijn/script
De file die ik include in /include/file

Hoe ziet mijn include eruit?
include(../../../../include/file) klopt maar das gezeik.
werkt include(/include/file) dus gewoon?
  woensdag 19 november 2008 @ 19:43:10 #267
75592 GlowMouse
l'état, c'est moi
pi_63354064
Swetsenegger: kijk eens in print_r($_SERVER) of daar iets staat wat je kunt gebruiken
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  FOK!-Schrikkelbaas woensdag 19 november 2008 @ 20:03:01 #268
1972 Swetsenegger
Egocentrische Narcist
pi_63354692
quote:
Op woensdag 19 november 2008 19:43 schreef GlowMouse het volgende:
Swetsenegger: kijk eens in print_r($_SERVER) of daar iets staat wat je kunt gebruiken
Ja dat kan uiteraard allemaal, maar volgens mij is er gewoon een ../..\~ whatever combi die gewoon zegt 'path begint nu in '/'' net zoals ../ 'path begint nu relatief 1 level hoger tov het bestand waar je nu in zit' zegt.

Snappen we het nog? Zoals gezegd heb ik het ondertussen gewoon met een absoluut path gedaan maar ik ben gewoon benieuwd
  woensdag 19 november 2008 @ 20:05:48 #269
75592 GlowMouse
l'état, c'est moi
pi_63354781
/ begint in de root van het filesystem en dan heb je een absoluut pad. Wat je beter kunt gebruiken is een element uit $_SERVER.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_63356179
quote:
Op woensdag 19 november 2008 19:40 schreef Swetsenegger het volgende:

[..]

Laat ik het simpeler uitleggen.

Mijn script staat in /path/naar/mijn/script
De file die ik include in /include/file
Dat zijn vast absolute paden in de webroot van je site en niet absolute paden op het filesystem.
quote:
Hoe ziet mijn include eruit?
include(../../../../include/file) klopt maar das gezeik.
werkt include(/include/file) dus gewoon?
include(/include/file) werkt in ieder geval als file in de folder /include/ staat (absolute path). Je zou moeten/kunnen testen of het ook werkt als je eerst het pad naar je webroot aan het include_path toevoegt.
pi_63356234
quote:
Op woensdag 19 november 2008 14:45 schreef CraZaay het volgende:

[..]

'/' is je root Je bedoelt waarschijnlijk je document_root. Probeer eens $_SERVER["DOCUMENT_ROOT"]
Een website hoeft niet in de document_root te staan. Er bestaan ook leuke dingen als aliassen enzo.
pi_63356361
quote:
Op woensdag 19 november 2008 13:51 schreef saban het volgende:

[..]

Probeer eens ~ (weet het niet zeker).
~ is de homedir van de gebruiker. Bij een website zal dat de homedir van de eigenaar van het proces van de webserver (volg je het nog?) zijn. Dus de webserver draait als user apache, dan wordt gekeken naar de homedir van user apache. En die heeft waarschijnlijk geen homedir.
pi_63356853
quote:
Op woensdag 19 november 2008 14:35 schreef Swetsenegger het volgende:

Op shared hosting kom je daar niet bij.
include_path is PHP_INI_ALL, die kun je dus overal aanpassen. Ook gewoon in je scripts.
quote:
Maar ik weet dat er gewoon een code voor is. In DOS is het CD \ volgens mij
cd \ in DOS en cd / in Unix/Linux. Met als verschil dat je in DOS naar de root van de schijf gaat en in Unix/Linux naar de root van het bestandssysteem. Je kunt aan het pad geen partitie- of schijfstructuur achterhalen. En dan heb je in Linux (en Unix?) ook nog iets als een root jail. Maar dan gaan we wel heel erg offtopic.
  FOK!-Schrikkelbaas woensdag 19 november 2008 @ 21:27:12 #274
1972 Swetsenegger
Egocentrische Narcist
pi_63357444
quote:
Op woensdag 19 november 2008 21:10 schreef Light het volgende:

[..]

include_path is PHP_INI_ALL, die kun je dus overal aanpassen. Ook gewoon in je scripts.
OOK als safe mode aanstaat?
pi_63357574
quote:
Op woensdag 19 november 2008 21:27 schreef Swetsenegger het volgende:

[..]

OOK als safe mode aanstaat?
Vast wel. In de PHP-documentatie staat in ieder geval niets dat erop wijst dat het alleen werkt als safe mode uit staat. (En daarbij zet een beetje hoster gewoon safe mode uit. Ze moeten sowieso wel als ze naar PHP6 overgaan, ooit.)
  FOK!-Schrikkelbaas woensdag 19 november 2008 @ 21:33:37 #276
1972 Swetsenegger
Egocentrische Narcist
pi_63357662
Ik heb een aantal hosters waar safe mode aanstaat, naast nog wat andere beperkende maatregelen. das echt een gezeik.
pi_63361106
substr() vraagje:

Ik heb 2 strings, zijnde:
$string1 = 15-12;
$string2 = 3-11;

Nu wil ik dat zowel $string1 als $string2 enkel de laatste 2 cijfers geven. Ik heb de functie substr() gevonden, maar ik vind maar niet hoe ik zowel 12 als 11 kan bekomen.
pi_63361645
quote:
Op woensdag 19 november 2008 23:10 schreef everybodysweird het volgende:
substr() vraagje:

Ik heb 2 strings, zijnde:
$string1 = 15-12;
$string2 = 3-11;

Nu wil ik dat zowel $string1 als $string2 enkel de laatste 2 cijfers geven. Ik heb de functie substr() gevonden, maar ik vind maar niet hoe ik zowel 12 als 11 kan bekomen.
Is het altijd 2 cijfers?
substr($string, -2);
  woensdag 19 november 2008 @ 23:40:10 #279
75592 GlowMouse
l'état, c'est moi
pi_63361954
Waarbij je natuurlijk wel $string1 = "15-12"; moet hebben staan, want anders slaat hij gewoon -3 op in de integer $string1 en kun je die 12 nooit meer terugkrijgen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_63365426
include_path kan je gewoon veranderen als safe mode aanstaat overigens.

/spuit 11
In theory there is no difference between theory and practice. In practice there is.
pi_63365685
Het probleem is dat substr($string, -2); niet lijkt te werken, hij geeft namelijk niets weer.
pi_63365738
quote:
Op donderdag 20 november 2008 08:26 schreef everybodysweird het volgende:
Het probleem is dat substr($string, -2); niet lijkt te werken, hij geeft namelijk niets weer.
Heb je al aanhalingstekens of apostrofs om je declaraties gezet?

Dus
1
2
$string1 = '15-12';
$string2 = '3-11';


i.p.v.
1
2
$string1 = 15-12;
$string2 = 3-11;
pi_63365851
Kan je niet beter exploden op de - in plaats van substringen?
Dat lijkt me een stuk safer als het laatste getal een keer niet uit 2 cijfers bestaat
pi_63365980
quote:
Op woensdag 19 november 2008 19:32 schreef GlowMouse het volgende:
Dan doe je wat fout. Simpele testcase:
[ code verwijderd ]

En dan deze query een paar keer doen:
[ code verwijderd ]
Ik zal er eens mee gaan spelen

Heb ik natuurlijk gelijk een andere vraag, stel ik heb een database met de volgende opzet

- persoon (id, naam)
- vrienden (id, persoon_id, naam)
- vrienden_link (id, vrienden_id, wens_id, jaar)
- wensen (id, wens)

Nu wil ik graag weten hoeveel mensen dit jaar hun lootjes hebben ingevuld hoe kan ik dat achterhalen middels 1 query? ga er dan vanuit dat ik al de persoon_id weet.

Ik heb het volgende geprobeerd maar werkt niet naar behoren!
1
2
3
4
5
6
7
SELECT count(wensen.id)
FROM vrienden
LEFT JOIN vrienden_link ON vrienden_link.vriend_id = vrienden.id
LEFT JOIN wensen ON wensen.id = vrienden_link.wens_id
WHERE vrienden.persoon_id = '1'
AND  vrienden_link.jaar = YEAR(NOW())
GROUP BY vrienden_link.id


[ Bericht 23% gewijzigd door Chandler op 20-11-2008 09:08:32 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  donderdag 20 november 2008 @ 09:26:19 #285
192166 Paupermans
They made me do it
pi_63366511
1
2
3
SELECT DISTINCT vrienden_id, count(vrienden_id) AS aantal
FROM vrienden_link
WHERE jaar = 2008

Zoiets zou wel moeten werken..
pi_63367458
klopt maar dan mis je nog persoon_id die weer vast zit aan het vrienden tabel
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  donderdag 20 november 2008 @ 10:48:32 #287
75592 GlowMouse
l'état, c'est moi
pi_63368350
Die GROUP BY gaat natuurlijk nooit werken he: ten eerste zal vrienden_link.id uniek zijn en bedoel je waarschijnlijk vrienden_link.vriend_id, daarnaast zul je nu voor iedere vrienden_link.id een aparte rij terugkrijgen. Kijk hier eens naar.

Wat een gekke databasestructuur trouwens: vrienden zijn nu geen personen en vrienden kunnen nu maar bij één persoon horen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_63378114
Is hetvolgende mogelijk met PHP?

Een bestand openen, maar slechts wat er tussen 2 tags staat.

1
2
3
4
5
6
7
8
9
10
<html>
<head>
</head>
<body>

<!----EDITAREA -->
Blaat
<!----ENDEDITAREA -->
</body>
</html>


Dus alles wat tussen area staat moet in een var, uiteindelijk in een tekstbox staan. Is dit mogelijk? Is het moeilijk?
pi_63378591
quote:
Op donderdag 20 november 2008 16:43 schreef Flaccid het volgende:
Is hetvolgende mogelijk met PHP?

Een bestand openen, maar slechts wat er tussen 2 tags staat.
[ code verwijderd ]

Dus alles wat tussen area staat moet in een var, uiteindelijk in een tekstbox staan. Is dit mogelijk? Is het moeilijk?
splitsen met een regular expression
pi_63379852
quote:
Op donderdag 20 november 2008 17:01 schreef VeerMans het volgende:

[..]

splitsen met een regular expression
Ik heb gegoogled, dat word dus preg_split? Maar ik heb geen idee hoe ik moet zorgen dat alle tekst tussen die 2 tags eruit kan gevist worden. Ik kan met preg match oid zoeken waar dat ding staat.
pi_63379897
quote:
Op donderdag 20 november 2008 18:01 schreef Flaccid het volgende:

[..]

Ik heb gegoogled, dat word dus preg_split? Maar ik heb geen idee hoe ik moet zorgen dat alle tekst tussen die 2 dingen bewaard moet worden.
Ik zou preg_match() gebruiken.
pi_63380568
quote:
Op donderdag 20 november 2008 16:43 schreef Flaccid het volgende:
Is hetvolgende mogelijk met PHP?

Een bestand openen, maar slechts wat er tussen 2 tags staat.
[ code verwijderd ]

Dus alles wat tussen area staat moet in een var, uiteindelijk in een tekstbox staan. Is dit mogelijk? Is het moeilijk?
Explode eerst op <!-- start -->, en explode die weer op <!-- end -->
ne okuyon, bokmu var?
pi_63383507
quote:
Op donderdag 20 november 2008 18:35 schreef saban het volgende:

[..]

Explode eerst op <!-- start -->, en explode die weer op <!-- end -->
Dat zegt mij helemaal niks, ik ben niet zo goed met php.
pi_63383635
preg_match is denk ik het handigst, dit _zou_ moeten werken
1$matchcount = preg_match('/<!----EDITAREA -->(.*?)<!----ENDEDITAREA -->/sim', $jebestand, $matches);


en in $matches zit wat je zoekt
pi_63388520
quote:
Op donderdag 20 november 2008 20:17 schreef VeerMans het volgende:
preg_match is denk ik het handigst, dit _zou_ moeten werken
[ code verwijderd ]

en in $matches zit wat je zoekt
Wat is matchcount hier? Uiteindelijk wat tussen de tags staat?

Wat is /sim? En wat gebeurd er precies met /<!----EDITAREA -->(.*?)<!----ENDEDITAREA -->/sim
pi_63388740
quote:
Op donderdag 20 november 2008 22:28 schreef Flaccid het volgende:
Wat is matchcount hier?
Het aantal resultaten, zie http://nl.php.net/manual/en/function.preg-match-all.php
quote:
Uiteindelijk wat tussen de tags staat?
Nee, dat komt in $matches. Doe maar eens dit:
1
2
3
echo '<pre>'; 
print_r($matches); 
echo '</pre>';
quote:
Wat is /sim?
http://nl.php.net/reference.pcre.pattern.modifiers ;)
quote:
En wat gebeurd er precies met /<!----EDITAREA -->(.*?)<!----ENDEDITAREA -->/sim
Reguliere Expressies, zoek maar eens :)
pi_63388849
/sim zorgt voor een paar dingen. De i staat voor case Insensitive, zodat EDITDATA en EditData worden geaccepteerd. De m staat voor Multiline. En de s zorgt dat de punt in (.*?) ook newlines matcht.
  FOK!-Schrikkelbaas vrijdag 21 november 2008 @ 16:12:10 #298
1972 Swetsenegger
Egocentrische Narcist
pi_63407825
Iemand enig idee waarom ik hier 'datum klopt' uit krijg :?

1
2
3
4
5
6
7
<?php
if(strtotime(date("now")) > strtotime('20 November 2008')){
        die(
'missing parameters');
}else{
    echo
"datum klopt";
}
?>
  vrijdag 21 november 2008 @ 16:46:49 #299
136730 PiRANiA
All thinking men are atheists.
pi_63408781
quote:
Op vrijdag 21 november 2008 16:12 schreef Swetsenegger het volgende:
Iemand enig idee waarom ik hier 'datum klopt' uit krijg
[ code verwijderd ]
Omdat het 20 nov geweest is?
  vrijdag 21 november 2008 @ 16:48:41 #300
136730 PiRANiA
All thinking men are atheists.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')