anoniem Geplaatst: 31 oktober 2002 Delen Geplaatst: 31 oktober 2002 Hey FF een vraagje, ik heb een beetje zitten knutselen en nou kom ik op het volgende probleem! Ik heb een database waar ik gegevens uit haalde met deze functie, <% Call myrecordset.movefirst () While not myrecordset.EOF %> Iedereen kent dit wel, nou komen alleen de gegevens hiervan in een tabel onder elkaar te staan. En das nu ff niet handig dus heb ik een scrip gebouwd die alleen nog niet helemaal lekker werkt [code:1:44d63fc619] <% Dim tellen tellen = FALSE DO WHILE NOT Myrecordset.EOF IF tellen = TRUE THEN Response.Write("<tr><td>" & MyRecordset("voornaam") & "</td>") ELSE Response.Write("<td>" & MyRecordset("voornaam") & "</td></tr>") END IF tellen = Not(tellen) MyRecordSet.MoveNext Loop If tellen = True Then Response.Write("<TR><td>"& MyRecordset("voornaam") &"</td></tr>") End if %> [/code:1:44d63fc619] Het probleem is dat de eerste record alleen komt te staan, de 2 eronder komen wel netjes naast elkaar te staan. Maar dat is nog niet alles, ik had een zelf bedacht scripje gemaakt voor het uitrekenen van een verjaardag namelijk [code:1:44d63fc619] <% DIM maand maand = Myrecordset("geb_datum") IF month(maand) > month(date()) THEN DIM str1 str1 = year(date()) - year(Myrecordset("geb_datum"))-1 IF ISNULL(str1 ) THEN response.write "n.b." ELSE response.write str1 ELSE DIM str2 str2 = year(date()) - year(Myrecordset("geb_datum")) IF ISNULL(str2 ) THEN response.write "n.b." ELSE response.write str2 END IF %>[/code:1:44d63fc619] Ik wilde dit graag verwerken na de response.write van de eerste code. IK weet alleen niet hoe..kan iemand mij helpen?! Alvast bedankt Quote Link naar reactie
anoniem Geplaatst: 31 oktober 2002 Auteur Delen Geplaatst: 31 oktober 2002 [url=http://gathering.tweakers.net/forum/list_messages/635977]Vraag op tweakers[/url] wordt niet snel genoeg beantwoord? Anyway, een kleine aanpassing van de code en het zou moeten werken (niet getest overigens, dat mag je zelf doen) [code:1:038dbcb653] <% dim tellen tellen = true do while not Myrecordset.EOF if tellen = true then Response.Write("<tr><td>" & MyRecordset("voornaam") & "</td>") else Response.Write("<td>" & MyRecordset("voornaam") & "</td></tr>") end if tellen = not(tellen) MyRecordSet.MoveNext loop if tellen = false then ' row netjes afsluiten Response.Write("<td> </td></tr>") end if %> [/code:1:038dbcb653] Als ik je overigens een tip mag geven. Leer jezelf aan om in 1 stijl te coden (hoofdlettergebruik, inspringing, variabele naamgeving, commentaar, enz.). Dat maakt het een stuk overzichtelijker voor jezelf en voor anderen. Ook als je over een half jaar je code erbij pakt is het handig als je in 1 oogopslag kan zien wat er allemaal gebeurd. Van de je tweede vraag kan ik niet veel maken. Als je voor elke naam uit de database ook de geboortdatum wil tonen (evt. met een extra bewerking) dan raad ik aan om de functionaliteit in een function te gieten en deze te gebruiken binnen je while-loop. Daarmee houd je je code een stuk overzichtelijker. Tip: kijk voor het uitrekenen van een datumverschil ook eens naar de functie [url=http://www.devguru.com/Technologies/vbscript/quickref/datediff.html]DateDiff()[/url]. Quote Link naar reactie
anoniem Geplaatst: 31 oktober 2002 Auteur Delen Geplaatst: 31 oktober 2002 he Nou op tweakers wordt je vaak zo afgekapt, wist niet dat jij ook hier zat. Maar alleen true en false dus verkeerd, zucht...alles geprobeerd behalve dat. En over die datum, ik wilde die functie dus binnen mijn while loop plaatsen alleen wilde dat dus niet lukken. maar ik zal je tip eens opvolgen en kijk of ik daar wat mee kan. Alleen kun je misschien nog een tip geven hoe ik die functie dan inbouw bij de door jou gegeven code? Quote Link naar reactie
anoniem Geplaatst: 31 oktober 2002 Auteur Delen Geplaatst: 31 oktober 2002 Het ligt er natuurlijk een beetje aan wat je wil tonen. Maar stel dat je de leeftijd van een persoon wil tonen dan kan je bijvoorbeeld zoiets doen (heb de loop even gewijzigd voor het overzicht): [code:1:a92dc49d8e] function GetAge(dtBirthday) ' deze mag je zelf verzinnen end function dim tellen tellen = true do while not Myrecordset.EOF if tellen = true then Response.Write "<tr>" end if Response.Write "<td>" Response.Write MyRecordset("voornaam") & "<br />" Response.Write GetAge(MyRecordset("geb_datum")) & " jaar" Response.Write "</td>" if tellen = false then Response.Write "</tr>" end if tellen = not(tellen) MyRecordSet.MoveNext loop ' ... %> [/code:1:a92dc49d8e] Quote Link naar reactie
anoniem Geplaatst: 1 november 2002 Auteur Delen Geplaatst: 1 november 2002 hey annie, Kun je me nog even helpen?! ik heb het volgende Stel ik heb 2 velden: email en homepage Soms is email wel vol, en homepage niet en andersom. Ze kunnen ook wel een allebei leeg zijn. Nou probeer ik al de hele tijd een if functie te bouwen die het volgende doet, ik wil voor alle 2 de velden een pictogram laten zien als ze vol zijn, zo niet geen pictogram. leeg of vol er staat altijd een informatie pictogram dus: allebei leeg : alleen informatie pictogram mail vol, homepage leeg: mail pictogram en informatie pictogram mail leeg, homepage vol: homepage pictogram en informatie pictogram mail vol, homepage vol: homepage pictogram, mail pictogram en informatie pictogram Maar het lukt met niet om dit in een goede if functie te krijgen. kun je me nog 1 keer helpen?! Quote Link naar reactie
anoniem Geplaatst: 1 november 2002 Auteur Delen Geplaatst: 1 november 2002 begrijp ik je nu verkeerd of moet het gewoon onderstaande zijn? [code:1:39f1e5cc3c] response.write "info pictogram" if recordset("mail").value > "" then response.write "mail pictogram" end if if recordset("homepage").value > "" then response.write "page pictogram" end if [/code:1:39f1e5cc3c] [size=9:39f1e5cc3c](m.a.w. dat was toch niet zo moeilijk om te verzinnen?)[/size:39f1e5cc3c] Quote Link naar reactie
anoniem Geplaatst: 1 november 2002 Auteur Delen Geplaatst: 1 november 2002 hey, Tja inderdaad, ik had een hoop dingen al verzonnen, maar dit niet..haha he bedankt, ik begin het wel steeds leuker vinden. Ook ga ik anders leren denken, ik denk nog vaak te moeilijk. Bedankt! Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen