abonnement Unibet Coolblue Bitvavo
pi_44012465
quote:
Op dinsdag 28 november 2006 09:50 schreef papernote het volgende:

[..]

Waarom heb je dag, maand, jaar én datum opgeslagen, als de laatste alles al bevat? Dat is niet echt handig, want je kan met PHP heel simpel de eerste 3 uit de laatste verkrijgen.

Verder heb je waarschijnlijk de dag als een VARCHAR opgeslagen en niet als INT, waardoor de sortering fout gaat. Lexicografisch gezien komt 25 voor 5, terwijl numeriek dat andersom is.
Nee, dag staat als INT. De query is nu als volgt:

1$result=mysql_query("SELECT id,dag,artist,titel,label,MONTHNAME(datum) as maand,YEAR(datum) as jaar FROM albumreleases ORDER BY DATE(datum) DESC") or die(mysql_error());


Maar als ik DESC in ASC verander, dan geldt dat ook voor de maand. Dus dan komt de laatste maand onderaan. En ik wil dat juist bovenaan.

----

Stiekem tegelijk nog een vraagje. Ik heb een programma dat een output van een gehele playlist geeft in .txt-formaat. Een voorbeeld van de inhoud:

1
2
3
4
Danity Kane - Show Stoppin (4:12)
Danity Kane - Touching My Body (Remix) Ft. T (2:18)
Danny Fernandes - Curious (Dj Rado Remix) (4:17)
Darin - Move (3:42)


Nu wil ik deze met een PHP script kunnen importeren in en MySQL database. Ik wil dat de artiest in 'artiest' komt, de titel in 'titel' en de tijd in 'tijd'. Ik weet niet of het moeilijk (EN MOGELIJK) is, maar aan de ene kant lijkt het me best te doen. Hoewel er niet gekeken kan worden op haakjes, voor de tijd, aangezien veel titels ook haakjes hebben, zoals (Remix). Hoe zou ik dit het beste kunnen doen en waar begin ik?

Alvast bedankt voor de hulp de laatste tijd!

[ Bericht 33% gewijzigd door RiderXXX op 30-11-2006 02:41:12 ]
dit
is
mijn
signature.
pi_44043046
quote:
{ "Africa/Kinshasa" , 0x0011F8 },
{ "Africa/Lagos" , 0x001230 },
{ "Africa/Libreville" , 0x001279 },
{ "Africa/Lome" , 0x0012C2 },
{ "Africa/Luanda" , 0x0012FA },
{ "Africa/Lubumbashi" , 0x001343 },
Weet iemand wat '0x0011F8 ' is? Ik ben namelijk bezig met een lijst van tijdzones aan het maken. Maar in php 5.1 is dat niet mogelijk. Dit is overigens een stukje uit de source van php.
..///
pi_44043106
laat maar het is dus de offset waarde in hexadecimaal.
..///
pi_44043306
Weet iemand hoe ik de offset waarde moet berekenen?

Bv: "Europe/Amsterdam" = 0x025ADC
En 0x025ADC is dan 1393458
Maar wat is 1393458
..///
pi_44043398
quote:
Op vrijdag 1 december 2006 00:15 schreef wipes66 het volgende:
Weet iemand hoe ik de offset waarde moet berekenen?

Bv: "Europe/Amsterdam" = 0x025ADC
En 0x025ADC is dan 1393458
Maar wat is 1393458
Ik gok dat je een signed integer als unsigned integer aan het bekijken bent

[edit] hmm het komt uit de source van PHP,
A.) de source-code (C)
of;
B.) PHP-code?

In geval A ben ik hier redelijk zeker van.
Motorrijden is beter dan sex.Elke bocht een nieuw hoogtepunt.
pi_44043604
het komt uit de source-code (timezonedb.h). maar de vraag is, hoe maak ik er secondes van?
..///
pi_44043772
quote:
Op vrijdag 1 december 2006 00:30 schreef wipes66 het volgende:
het komt uit de source-code (timezonedb.h). maar de vraag is, hoe maak ik er secondes van?
Ik denk niet dat je het op die manier kan/wil gebruiken zijn daar geen andere mogelijkheden voor?
Dat lijkt me uitermate sterk.

is dit niet iets wat je zou kunnen gebruiken:

date_default_timezone_get
Of de *_set
Motorrijden is beter dan sex.Elke bocht een nieuw hoogtepunt.
pi_44044023
wat ik zoek is timezone_identifiers_list, maar die is niet beschikbaar voor mij.
..///
  vrijdag 1 december 2006 @ 01:50:16 #34
12880 CraZaay
prettig gestoord
pi_44044734
quote:
Op donderdag 30 november 2006 01:32 schreef RiderXXX het volgende:

Nu wil ik deze met een PHP script kunnen importeren in en MySQL database. Ik wil dat de artiest in 'artiest' komt, de titel in 'titel' en de tijd in 'tijd'. Ik weet niet of het moeilijk (EN MOGELIJK) is, maar aan de ene kant lijkt het me best te doen. Hoewel er niet gekeken kan worden op haakjes, voor de tijd, aangezien veel titels ook haakjes hebben, zoals (Remix). Hoe zou ik dit het beste kunnen doen en waar begin ik?
Ook al bevatten veel titels haakjes, je weet dat bij de laatste '(' de tijd begint. Een groter probleem is denk ik het koppelteken tussen artiest en titel, omdat er eventueel ook een artiest zou kunnen zijn met ' - ' in z'n naam ('Jay - Z' bijvoorbeeld, as je het met spaties ertussen schrijft).
pi_44076030
klein vraagje:

ik weet niet of ik het hier goed plaats maar mijn vraag is:

Ik wil (met php het liefst als het kan) de "De webpagina is verlopen" pagina vermijden. (IE vooral)

Ik heb een zoekfunctie gemaakt om iets op te zoeken in php. Vanuit de zoekresultaten wordt er naar een andere pagina geklikt. Als ik nu terug wil gaan naar de zoekresultaten (knop terug) of een link (javascript: history.go(-1)) dan krijg ik dus die verlopen pagina.

Maar het liefst zou ik dus gelijk die pagina opnieuw laden (POST gegevens opnieuw versturen) zonder interactie met de gebruiker.

Is dit mogelijk?
It's time to kick ass and chew bubble gum... and I'm all out of bubble gum
  FOK!-Schrikkelbaas zaterdag 2 december 2006 @ 13:13:47 #36
1972 Swetsenegger
Egocentrische Narcist
pi_44077419
je zou misshcien wat met een sessie kunnen doen
pi_44078073
Kan je dan niet beter een GET request gebruiken?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas zaterdag 2 december 2006 @ 13:45:44 #38
1972 Swetsenegger
Egocentrische Narcist
pi_44078089
quote:
Op zaterdag 2 december 2006 13:44 schreef SuperRembo het volgende:
Kan je dan niet beter een GET request gebruiken?
Dan heb je geen last van vedrlopen POSTs inderdaad
  zondag 3 december 2006 @ 11:07:20 #39
85514 ralfie
!Yvan eht nioj
pi_44098017
Ik heb hier iets waar ik even niet uitkom, en hoop dat iemand my hierbij kan helpen.

Ben bezig met een systeem waar gebruikers (hier alleen met een id) films kunnen waarderen. Iedere gebruiker kan de film 1-5 sterren geven (en maar éénmalig per film stemmen).

Ik heb de volgende tabellen:

De tabel 'films' houdt bij welke film hoevel waarderingen heeft gehad, en welke totale waardering heeft
De tabel 'voters' houdt bij wie (gebruikers-id) welke fim gewaardeerd heeft. In het bovenstaande plaatje hebben dus 3 verschillende users 2 films gewaardeerd.

Nu wil ik graag met 1 query erachter komen, van een rits films, wat hun waardering is, dit doe ik dmv:
1
2
3
<?php
$query
="SELECT film_id, film_name, avg_vote FROM films ORDER BY avg_vote LIMIT BY $start, $stop"
?>


Nu zou ik graag in dezelfde query willen bepalen welke films een bepaalde gebruiker wel of niet al gewaardeerd heeft, iets uitvoeren in de trand van

als er een rij bestaat waar voter=$gebruikers_id AND film_id=$film_id return TRUE; (gebruiker heeft al gestemd op deze film). Ik had gedacht aan iets van

1
2
3
4
5
6
<?php
$query
="SELECT film_id, film_name, avg_vote FROM films ORDER BY avg_vote LIMIT BY $start,$stop";
//en dan voor elke gevonden film_id ($film_id)
$query="SELECT * FROM voters WHERE film_id=$film_id AND voter=$userid";
//als hier een row gevonden wordt heeft de $userid deze film al gewaardeerd
?>

Maar dan in liefst 1 query (en niet in 21 als de eerste query 20 films vind). Ik kan natuurlijk ook een query maken waarbij ik bepaal welke films de huidige gebruiker al heeft gewaardeerd en deze vergelijken met de gevonden films van de eerste query, maar dat lijkt me nog erg omslachtig.

Iemand een idee? Of kan ik beter een heel ander systeem gebruiken?
pi_44098193
Je kan met deze query de voters ophalen:

SELECT * FROM voters WHERE film_id=$film_id

En dan vervolgens voor alle $userid kijken of er een rij met dat ID in het resultaat zit. Dat doe je dan in PHP.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_44098317
Ten eerste zou ik me afvragen of je num_votes en avg_vote wel op zou nemen in je film-tabel.. Die gegevens zijn ook makkelijk te berekenen als je ze nodig hebt en de kans op inconsistentie is zo aardig groot..
Je eigenlijke vraag..
SELECT film_id, film_name, avg_vote FROM films WHERE film_id IN (SELECT film_id FROM voters WHERE voter='gebruikersid')

met IN maak je een subquery. Oftewel, je wilt dat de teruggegeven film_id's voorkomen in het resultaat van de query tussen de haken.

SELECT film_id, film_name, avg_vote FROM films JOIN voters ON voters.film_id = films.film_id WHERE voters.voter = 'gebruikers-id'

Ook zo krijg je alleen films van een bepaalde gebruiker terug, maar dan door middel van een join. Welke manier je gebruikt maakt opzich niet zoveel uit, maar een join vind ik wat eleganter.
Is dit wat je bedoelde?
pi_44098477
Je gebruikt een outer join om te kijken of er een bijbehorende regel in de tabel voters bestaat. Als voters.film_id NULL is, dan bestaat die regel niet en heeft de gebruiker dus nog niet gestemd.

1
2
3
4
5
6
SELECT f.film_id, f.film_name, f.avg_vote, 
   CASE WHEN v.film_id IS NULL THEN 0 ELSE 1 END voted 
FROM films f
LEFT OUTER JOIN voters v ON v.film_id = f.film_id AND v.voter = $userid
ORDER BY avg_vote 
LIMIT BY $start, $stop


Het kan ook met een subquery als je systeem dat ondersteunt. Ik weet alleen hoe het met de snelheid van zo'n query zit met MySQL (in vergelijking tot de versie met outer join).
1
2
3
4
5
6
7
8
9
SELECT f.film_id, f.film_name, f.avg_vote, 
   CASE WHEN EXISTS (
         SELECT * 
         FROM voters v 
         WHERE v.film_id = f.film_id AND v.voter = $userid
      ) THEN 1 ELSE 0 END voted
FROM films f
ORDER BY avg_vote 
LIMIT BY $start, $stop
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  zondag 3 december 2006 @ 11:49:45 #43
85514 ralfie
!Yvan eht nioj
pi_44098747
@SuperRembo: Ik heb beide methoden getest en bij mij is de tweede methode het snelste (niet gestest met grote tabellen, maar toch). Aangezien ik deze ook beter snap ga ik voorlopig voor de tweede methode.

Bedankt voor de suggesties allemaal
pi_44111545
quote:
Op zaterdag 2 december 2006 12:13 schreef Xtr3mE het volgende:
klein vraagje:

ik weet niet of ik het hier goed plaats maar mijn vraag is:

Ik wil (met php het liefst als het kan) de "De webpagina is verlopen" pagina vermijden. (IE vooral)

Ik heb een zoekfunctie gemaakt om iets op te zoeken in php. Vanuit de zoekresultaten wordt er naar een andere pagina geklikt. Als ik nu terug wil gaan naar de zoekresultaten (knop terug) of een link (javascript: history.go(-1)) dan krijg ik dus die verlopen pagina.

Maar het liefst zou ik dus gelijk die pagina opnieuw laden (POST gegevens opnieuw versturen) zonder interactie met de gebruiker.

Is dit mogelijk?
Sessies lijkt me veiliger dan GET gebruiken zoals al gezegd was . GET kan gemanipuleerd worden en voor SQL-injection zorgen, sessies niet . Het is wat meer werk maar 10X zo veilig.
pi_44112167
quote:
Op zondag 3 december 2006 19:42 schreef fate het volgende:

[..]

Sessies lijkt me veiliger dan GET gebruiken zoals al gezegd was . GET kan gemanipuleerd worden en voor SQL-injection zorgen, sessies niet . Het is wat meer werk maar 10X zo veilig.
Je moet je gegevens toch posten of je dat met GET of POST doet boeit niet...
Dus wat mij betreft is dat onzin.

(Al zou ik ook voor de sessies gaan hoor daar niet van...
Dit met de reden dat je hier meer controle over hebt dan over wat je in GET krijgt gedurende de gebruiker zijn sessie op je site. )
Motorrijden is beter dan sex.Elke bocht een nieuw hoogtepunt.
pi_44112315
quote:
Op zondag 3 december 2006 20:07 schreef Cageon het volgende:

[..]

Je moet je gegevens toch posten of je dat met GET of POST doet boeit niet...
Dus wat mij betreft is dat onzin.

(Al zou ik ook voor de sessies gaan hoor daar niet van...
Dit met de reden dat je hier meer controle over hebt dan over wat je in GET krijgt gedurende de gebruiker zijn sessie op je site. )
Je gegevens moet je posten, maar dat doe je best met POST en niet met GET zoals je wel weet . Maar als je met POST werkt, zal history(-1) niet meer lukken dus moet je wel sessies gebruiken.
pi_44112479
quote:
Op zondag 3 december 2006 20:12 schreef fate het volgende:

[..]

Je gegevens moet je posten, maar dat doe je best met POST en niet met GET zoals je wel weet . Maar als je met POST werkt, zal history(-1) niet meer lukken dus moet je wel sessies gebruiken.
Een zoekform kan toch prima met een GET? Je hebt namelijk een beperkt aantal parameters die prima in de url kunnen worden megegeven. Niet voor niet dat google en de zoekfunctie van FOK zo werkt.
Als je een POST gebruikt, dan krijg je altijd een page expired als je op back drukt. Of je nou een sessie gebruikt of niet.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_44112548
quote:
Op zondag 3 december 2006 20:12 schreef fate het volgende:

[..]

Je gegevens moet je posten, maar dat doe je best met POST en niet met GET zoals je wel weet . Maar als je met POST werkt, zal history(-1) niet meer lukken dus moet je wel sessies gebruiken.
Je kan je gegevens ook posten met de method GET. Dan heb je dat probleem niet, zoals al eerder gemeld.
Mijn punt was dat wat jij meld eigenlijk no issue is. Mja je hoeft minder vaak te controleren of je data wel/niet valide is.
Buiten dat is het niet bepaald insecure.
Aangezien je toch data kan versturen in je formulier.
Motorrijden is beter dan sex.Elke bocht een nieuw hoogtepunt.
pi_44126300
Ik wil het volgende even weten.

Voor iemand moet ik een bestand hosten en deze wil hij laten downloaden door een stuk of wat gebruikers. Echter heb ik geen zin om het bestand door duizenden te laten downloaden en wil dat voorkomen door bv het IP adres van de gebruiker alleen toe te staan.

Nu is dit gemakkelijk in een script te bouwen maar een script runt eingelijk max 30 seconden en wil ik dus iets bedenken waardoor iedereen met een juist IP adres het bestand kan downloaden.

bv. httaccess.. maar daar heb ik geen kaas van gegeten.

Hebben jullie een idee hoe ik dit probleem kan oplossen? een wachtwoord werkt niet want die kan men doorgeven...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  FOK!-Schrikkelbaas maandag 4 december 2006 @ 13:22:08 #50
1972 Swetsenegger
Egocentrische Narcist
pi_44129686
quote:
Op maandag 4 december 2006 11:20 schreef Chandler het volgende:
Ik wil het volgende even weten.

Voor iemand moet ik een bestand hosten en deze wil hij laten downloaden door een stuk of wat gebruikers. Echter heb ik geen zin om het bestand door duizenden te laten downloaden en wil dat voorkomen door bv het IP adres van de gebruiker alleen toe te staan.

Nu is dit gemakkelijk in een script te bouwen maar een script runt eingelijk max 30 seconden en wil ik dus iets bedenken waardoor iedereen met een juist IP adres het bestand kan downloaden.

bv. httaccess.. maar daar heb ik geen kaas van gegeten.

Hebben jullie een idee hoe ik dit probleem kan oplossen? een wachtwoord werkt niet want die kan men doorgeven...
gewoon IP info uit de http header halen?
Niet waterdicht, maar afdoende voor 99%
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')