Scoutnet vzw

We connect scouts!
Het is momenteel 18 Nov 2024 3:20

Alle tijden zijn UTC + 1 uur




Plaats een nieuw onderwerp Reageren op dit onderwerp  [ 17 berichten ]  Ga naar pagina 1, 2  Volgende
Auteur Bericht
BerichtGeplaatst: 10 Dec 2004 15:46 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 12 Jan 2003 0:00
Berichten: 105
Woonplaats: Waasmunster
ik zit met het volgende: ik wil rijen uit mijn database uitlezen waar de maand een bepaalde waarde heeft. nu is de datum opgeslagen als 20041210 (dus jaar-maand-dag)

ik had er de volgden query voor opgesteld:
Code:
mysql_query("SELECT * FROM leden WHERE '".substr(lidnummer, 4, 2)."'='$maand_nu'")


maar dat werkt natuulij niet. hij wil blijkbaar de substr niet uitvoeren?!

Wie weet er hier een juiste code voor...

Pieter


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 10 Dec 2004 16:35 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 05 Jul 2002 23:00
Berichten: 52
Woonplaats: Bilzen
Met oracle zou dit moeten lukken, heb het nog niet geprobeer met my_sql:

Select * from leden
where substr(lidnummer,4,2) = to_char(sysdate,'mm');

Ik neem aan dat lidnummer een veld uit je tabel is...
Ga je het gebruiken voor een maandelijkse verjaardagskalender? :-)

Ik snap het gebruik van je quotes niet goed, substr() is een functie binnen oracle (weet niet of hij ook in mysql bestaat)

_________________
Vind je tijd doden fijn?
Reis dan eens met de trein!


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 10 Dec 2004 16:40 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 12 Jan 2003 0:00
Berichten: 105
Woonplaats: Waasmunster
ja, het is een verjaardagskalender die al werkt, maar ik wou hem eens wat opkuisen.

ik heb overlaatst nog ongeveer hetzelfde gedaan met een kalenderscript, maar daar had ik eerst $lidnummer (niet exact hetzelfde, maar ter voorbeeld) een waarde gegeven (vast) en dan in de query substr($lidnummer)... maar als je dat bekijkt lijkt dat toch niet te kloppen, alhoewel hij juist de database uileest.


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 10 Dec 2004 16:50 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 27 Nov 2002 0:00
Berichten: 91
Code:
SELECT *
FROM `leden`
WHERE substring( `titel` , 4, 2 ) = '$maand_nu'


meerinfo

http://dev.mysql.com/doc/mysql/en/String_functions.html


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 10 Dec 2004 16:51 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 05 Jul 2002 23:00
Berichten: 52
Woonplaats: Bilzen
Maareuh, lidnummer is toch een veld uit je leden tabel? Moet je toch geen variabele voor gaan gebruiken?

_________________
Vind je tijd doden fijn?
Reis dan eens met de trein!


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 10 Dec 2004 17:05 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 31 Jul 2002 23:00
Berichten: 236
substr?? zoals grizzly schreef is het substring

En je quotes kunnen waarschijnlijk ook wel iets eenvoudiger. Uiteindelijk moet je een querystring bekomen die er zo ongeveer uitziet.

Code:
"SELECT * FROM leden WHERE substring(lidnummer, 5, 2) = '02' "


Dus
deel 1:
Code:
"SELECT * FROM leden WHERE substring(lidnummer, 5, 2) = '"

deel2
Code:
$maand_nu

deel 3
Code:
"'"


die 3 delen moet je samen plakken in php en uitvoeren


Caygull


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 10 Dec 2004 18:24 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 12 Jan 2003 0:00
Berichten: 105
Woonplaats: Waasmunster
ach zo zit het, het is niet substr gelijk in php, maar in mysql moet je substring gebruiken... 8O

dat zal ik dan eens moeten proberen.. dankjulliewel allemaal!!

Pieter


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 13 Dec 2004 13:19 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 12 Jan 2003 0:00
Berichten: 105
Woonplaats: Waasmunster
oké, heb het net even geprobeerd, maar ik ben er nog niet. Hij geeft geen fouten (de query is gevolgd door een die), maar hij schrijft ook niets uit. Deze code heb ik nu.. en die zou toch moeten kloppen of ziet er iemand een fout in

(lidnummer ziet er als volgt uit: jaarmaanddag (dus bvb vandaag 20041213)

Code:
"SELECT * FROM leden WHERE substring('lidnummer',4,2)='$maandnu'"


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 13 Dec 2004 15:36 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 17 Jan 2003 0:00
Berichten: 483
Woonplaats: boekhoute
en deze :

Code:
"SELECT * FROM `leden` WHERE `".substr('lidnummer',4,2)."` = '".$maandnu."' "


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 13 Dec 2004 16:56 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 12 Jan 2003 0:00
Berichten: 105
Woonplaats: Waasmunster
die had ik dus ongeveer, maar voor mysql zou substr = substring

maar ik ben er nog niet, nog iemand tips?


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 13 Dec 2004 20:05 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 17 Jan 2003 0:00
Berichten: 483
Woonplaats: boekhoute
misschien moet 'WHERE' er helemaal niet staan, en substring in hoofdletters

Code:
SUBSTRING(str,pos)
SUBSTRING(str FROM pos)
SUBSTRING(str,pos,len)
SUBSTRING(str FROM pos FOR len)
The forms without a len argument return a substring from string str starting at position pos. The forms with a len argument return a substring len characters long from string str, starting at position pos. The forms that use FROM are standard SQL syntax. mysql> SELECT SUBSTRING('Quadratically',5);
        -> 'ratically'
mysql> SELECT SUBSTRING('foobarbar' FROM 4);
        -> 'barbar'
mysql> SELECT SUBSTRING('Quadratically',5,6);
        -> 'ratica'

This function is multi-byte safe.
SUBSTRING_INDEX(str,delim,count)
Returns the substring from string str before count occurrences of the delimiter delim. If count is positive, everything to the left of the final delimiter (counting from the left) is returned. If count is negative, everything to the right of the final delimiter (counting from the right) is returned. mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
        -> 'www.mysql'
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
        -> 'mysql.com'

This function is multi-byte safe.


komt van http://dev.mysql.com/doc/mysql/en/String_functions.html


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 13 Dec 2004 20:29 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 05 Jul 2002 23:00
Berichten: 52
Woonplaats: Bilzen
scoutsboekhoute schreef:
misschien moet 'WHERE' er helemaal niet staan, en substring in hoofdletters
...
komt van http://dev.mysql.com/doc/mysql/en/String_functions.html

Jawel he, anders heb je de namen van de leden toch niet...

_________________
Vind je tijd doden fijn?
Reis dan eens met de trein!


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 13 Dec 2004 22:25 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 17 Jan 2003 0:00
Berichten: 483
Woonplaats: boekhoute
idd 8O

misschien gewoon alles ophalen in de mysql-query, en dan met behulp van de php substr-functie in een while loop de queries filteren


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 13 Dec 2004 22:42 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 12 Jan 2003 0:00
Berichten: 105
Woonplaats: Waasmunster
Nog even iets aan toevoegen. In een ander script heb ik het volgende geschreven en dat werkt dus... al is het helemaal niet volgens de regels van de kunst

Code:
$datum= $jaar_nu.$maand_nu.$dag_nu;
  $dag = substr($datum, 6, 2);
  $maand = substr($datum, 4, 2);
  $jaar = substr($datum, 0, 4);
  $kalenderkort1 = mysql_query("SELECT * FROM kalender WHERE ($jaar=$jaar_nu && '$maand'=$maand_nu && '$dag'>=$dag_nu) order by '$dag' asc limit 5") or die ("fout bij de 1e mysql bewerking");
 


Iemand die er nog uitgeraakt?


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 14 Dec 2004 9:21 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 31 Jul 2002 23:00
Berichten: 236
Probeer eens

Code:
"SELECT * FROM leden WHERE substring('lidnummer',5,2)='$maandnu'"


ipv.

Code:
"SELECT * FROM leden WHERE substring('lidnummer',4,2)='$maandnu'"



Zie je het verschil?

Caygull.


Omhoog
 Profiel  
 
Berichten weergeven van de afgelopen:  Sorteer op  
Plaats een nieuw onderwerp Reageren op dit onderwerp  [ 17 berichten ]  Ga naar pagina 1, 2  Volgende

Alle tijden zijn UTC + 1 uur


Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 4 gasten


U mag geen nieuwe onderwerpen plaatsen in dit forum
U mag geen reacties plaatsen op onderwerpen in dit forum
U mag uw berichten niet wijzigen in dit forum
U mag uw berichten niet verwijderen in dit forum
U mag geen bijlagen plaatsen in dit forum

Zoeken naar:
Ga naar:  
cron
Powered by phpBB® Forum Software © phpBB Group
Vertaald door phpBBservice.nl.