Avatar billede kenp Novice
15. august 2004 - 10:08 Der er 23 kommentarer og
1 løsning

access & sql i webside

Hejsa

jeg sidder lige og har lidt problemer (sagt på en anden måde dette er ikke min stærke side :)

Jeg har i accessdatabase som jeg godt vil præsenter noget af ud på en side (i kan læse om det jeg vil have ud her) http://support.sssolutions.net/kb/index.php?page=index_v2&id=24&c=7 jeg har lavet databasen, men aner ikke hvordan jeg skal få den præcenteret.


Men jeg har også en mysql database som ejg også godt vil præcenter noget fra enten på sammeside som accessdatabasen, eller  i en ny side (i kan se hvad det er her)Det er denne database jeg bruger http://www.topcatcomputing.com/articles/displayarticle.asp?DocId=21
og man skulle kunne få den til at vise dette (alså ihvertfald nogen lunde når der er kommet nok mails)
http://www.topcatcomputing.com/spamstats.asp

Er der nogen som kan hjælpe en som ikke er så meget haj til hverken access, mysql, php eller asp.

Om det skal være i php eller asp er jeg ligeglad med, da jeg kan køre det i begge dele!
Avatar billede Slettet bruger
15. august 2004 - 10:15 #1
Jeg opdagede ikke lige at du havde lukket det andet spørgsmål :)
Men tag et kig på min kommentar.

http://www.eksperten.dk/spm/529354
Avatar billede kenp Novice
15. august 2004 - 10:17 #2
ja jeg så det godt :) men den vigtigste database er også den som er i mysql så vi kan sagtens droppe den som ligger i access i øjeblikket :) men som sagt er jeg jo ikke lige frem haj! men i den anden skriver du noget om forbindelse til databasen! hvordan opretter man den *G* (har aldrig rodet med php eller asp mv. normalt holde rjeg mig til alm server uden noget *G*)
Avatar billede kenp Novice
15. august 2004 - 10:18 #3
cypermann har skrevet dette i det andet spøgsmål som jeg lukkede igen:

Det ville for mig at se være dumt både at køre en access og MySQL database.
Da du har oprettet det i PHP kategorien, vil jeg foreslå dig at få dit data fra Access over i SQL.

Jeg ved så meget om access, at du kan eksporter alt data til en .xls fil (exel).
Hvis du så har exel, kan du åbne filen og gemme den som en csv.

Ved at bruge funktionen fgetcsv (http://dk.php.net/manual/en/function.fgetcsv.php) kan du så smide dit indhold igennem en løkke, og indsætte det i en MySQL database.

Så kan du ganske simpelt hente dit data ved:

<?PHP
// husk forbindelse til MySQL serveren.
$query = mysql_query("SELECT * FROM tabel") or die(mysql_error());
while($row = mysql_fetch_array($query)) {
    // henter data fra databasen.
    // felt1, felt2 og felt3 er blot eksempler. (navne på rækker i tabellen)
   
    echo "$row['felt1'] - $row['felt2'] - $row['felt3']";
}
?>
Avatar billede Slettet bruger
15. august 2004 - 10:24 #4
For at kunne hente noget data fra din tabel i en database, skal du jo først have adgang. Så alle og enhver ikke blot kan hente data.

Du opretter forbindelse sådan her:

<?PHP
//MySql settings
$mysql_host = "localhost";
$mysql_user = "username"; // Brugernavn til MySQL serveren.
$mysql_pass = "password"; // Password til MySQL serveren.
$mysql_db = "database"; // Den database du vil have adgang til.

mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_select_db($mysql_db);
?>
Avatar billede kenp Novice
15. august 2004 - 10:31 #5
så nu fik jeg da forbindelse til databasen, så nu mangler jeg bare at få trukket det ud igen der må jeg vist lige se hvad de hedder de række med det samme
Avatar billede kenp Novice
15. august 2004 - 10:35 #6
hvis rækkerne nu hedder filtername og hitcount og databasen hedder spamstats så er det således den skal være

<?PHP
//MySql settings
$mysql_host = "localhost";
$mysql_user = "username"; // Brugernavn til MySQL serveren.
$mysql_pass = "password"; // Password til MySQL serveren.
$mysql_db = "database"; // Den database du vil have adgang til.

mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_select_db($mysql_db);
?><?PHP
// husk forbindelse til MySQL serveren.
$query = mysql_query("SELECT * FROM tabel") or die(mysql_error());
while($row = mysql_fetch_array($query)) {
    // henter data fra databasen.
    // felt1, felt2 og felt3 er blot eksempler. (navne på rækker i tabellen)
   
    echo "$row['FilterName'] - $row['HitCount']";
}
?>

eller er det mig som er helt skævt på den?
Avatar billede kenp Novice
15. august 2004 - 10:37 #7
nu har jheg lige prøvet den kode der! (selvfølgelig med rigtig brugernavn og kode, så får jeg denne fejl ud!

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in
Avatar billede Slettet bruger
15. august 2004 - 10:39 #8
SELECT * FROM tabel

Her skal du så blot ændre tabel til hvad tabellen nu hedder.
I din database, har du oprettet en tabel, hvori alt det data du vil have udtrykket ligger i.
Avatar billede kenp Novice
15. august 2004 - 10:44 #9
hummm jeg prøver lige igen! hele databasen hedder spamstats, og selve den som tæller op inden i spamstats hedder stats dvs at den så skal hedde dette hele koden!

<?PHP
//MySql settings
$mysql_host = "localhost";
$mysql_user = "username"; // Brugernavn til MySQL serveren.
$mysql_pass = "password"; // Password til MySQL serveren.
$mysql_db = "spamstats"; // Den database du vil have adgang til.

mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_select_db($mysql_db);
?>
<?PHP
// husk forbindelse til MySQL serveren.
$query = mysql_query("SELECT * FROM Stats") or die(mysql_error());
while($row = mysql_fetch_array($query)) {
    // henter data fra databasen.
    // felt1, felt2 og felt3 er blot eksempler. (navne på rækker i tabellen)
   
    echo "$row['FilterName'] - $row['HitCount']";
}
?>
Avatar billede kenp Novice
15. august 2004 - 10:45 #10
hvis det er således! så kommer den stadigvæk med fejl, men kan det være fordi at databasen er tom? for jeg så lige at vbs scriptet som skulle opdater databasen var der fejl i.
Avatar billede kenp Novice
15. august 2004 - 11:16 #11
humm kan i se nogle fejl her! det er det vbs script som jeg bruger til at opdater ind i databasen!  Option Explicit


Dim StrCn, oConnection, strFilterName,Count, Rs, SQL, sdate

' Connection String.
' NOTE: You must replace DataBase, User and Password with the appropiate values
'      for your Server.

strCn = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; "
strCn =  strCn & "DATABASE=spamstats; USER=user; PASSWORD=password; Option=35;"


If WScript.Arguments.Count = 1 Then
    strFilterName = WScript.Arguments.Item(0)
    Set oConnection = CreateObject("ADODB.Connection")
    Set Rs = wscript.CreateObject("ADODB.Recordset")
    oConnection.Open strCn
    Rs.ActiveConnection = oConnection 
      Rs.Open ("SELECT FilterName, HitCount  FROM STATS WHERE FilterName = '" & strFilterName & "'")
      If Rs.EOF Then
          SQL= "INSERT INTO STATS (FilterName, HitCount)  VALUES ('" & strFilterName & "', 1)"
            oConnection.Execute SQL
    Else
          SQL="UPDATE STATS Set HitCount =" & Rs("HitCount") + 1 & " WHERE FilterName = '" & strFilterName & "'"
        oConnection.Execute SQL
    End If
      sdate=GetDate()
      ' This next line is optional. It is used to hold the current time stamp, each
      ' time the script is run.
    oConnection.Execute "UPDATE CONFIG Set KeyValue='" & sdate  & "' where ID=1"
    oConnection.Close
End If

' ==============================================================================================
' Function GetDate()
' Gets the Current Date and time and fomates it the correct format.
' ==============================================================================================

Function GetDate()
' This function will take the current date & time and format it into a time stamp

Dim TempDay, TempMonth, TempYear

TempDay= DatePart("d", Now)
TempMonth= DatePart("m", Now)
TempYear= DatePart("yyyy", Now)
If TempDay < 10 Then
  TempDay= "0" + TempDay
End If 
   
Select Case TempMonth
  Case 1  TempMonth = "January"
  Case 2  TempMonth = "February"
  Case 3  TempMonth = "March"
  Case 4  TempMonth = "April"
  Case 5  TempMonth = "May"       
  Case 6  TempMonth = "June"
  Case 7  TempMonth = "July"
  Case 8  TempMonth = "August"
  Case 9  TempMonth = "September"
  Case 10 TempMonth = "October"
  Case 11 TempMonth = "November"
  Case 12 TempMonth = "December"
End Select 
GetDate=TempDay &" " & TempMonth & " " & TempYear & " @ " & FormatDateTime(Now, 4)   
End Function
Avatar billede Slettet bruger
15. august 2004 - 11:17 #12
Ja, så skal dit script se ud som følgende.
Husk dog at den ser forskel på store og små bokstaver.

Så hvis din tabel ikke hedder Stats men stats, skal du ikke skrive det med stort.
Avatar billede kenp Novice
15. august 2004 - 11:19 #13
når jeg ser i mysql så står det med lille så det prøver jeg lige at ændre med det samme.
Avatar billede kenp Novice
15. august 2004 - 11:25 #14
hjalp ikke :(
Avatar billede kenp Novice
15. august 2004 - 11:26 #15
men det er lige før jeg tror fejlen også ligger i det script som skulle ligge det indi mysql, da den ikke opdater med nogle overhovedet! selv om den skulle gøre det!!!
Avatar billede Slettet bruger
15. august 2004 - 11:26 #16
Så er det sikkert også det der er galt med dit vbscript.
Der skriver du nemlig også STATS
og dine felter HitCount og FilterName

Men jeg har ikke meget forstand på vbscript. Så aner ikke om den er case-sensitive
Avatar billede kenp Novice
15. august 2004 - 11:34 #17
Det er kun stats som skulle være med lille, de andre står også således i mysql, men om det lige er nok ved jeg ikke må lige prøve at sende en mail, men vil den komme med den fejl når der ikke er noget i databasen?
Avatar billede kenp Novice
15. august 2004 - 11:37 #18
ved at ændre den kode du havde lave til dette
<?PHP
//MySql settings
$mysql_host = "localhost";
$mysql_user = "*****"; // Brugernavn til MySQL serveren.
$mysql_pass = "*****"; // Password til MySQL serveren.
$mysql_db = "spamstats"; // Den database du vil have adgang til.

mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_select_db($mysql_db);
?>
<?PHP
// husk forbindelse til MySQL serveren.
$query = mysql_query("SELECT * FROM stats") or die(mysql_error());
while($row = mysql_fetch_array($query)) {
    // henter data fra databasen.
    // felt1, felt2 og felt3 er blot eksempler. (navne på rækker i tabellen)
    echo
    $row["FilterName"] . " - " .
    $row["HitCount"];
    }
?>

Så kommer den ikke med fejl når jeg kalder php siden! men viser ikke noget (nok fordi at db er tom!) men så må jeg lige prøve at spørge over i vb script kategorien!
Avatar billede Slettet bruger
15. august 2004 - 11:39 #19
Den burde ikke komme med nogen fejl, selvom der ikke er noget i databasen.

Men du manglede lidt i din fejlbeskrivelse, nemlig hvilken linje fejlen ligger i.
Du kan jo også prøve blot at smide noget data ind i databasen, blot for at teste dit output.
Avatar billede Slettet bruger
15. august 2004 - 11:40 #20
ah, man har vel lov at lave lidt småfejl på en søndag formiddag :P
Avatar billede kenp Novice
15. august 2004 - 11:42 #21
*G* man er jo ikke fejlfri nogle af os vel ;) men nu vil jeg lige se om jeg kan få noget data ind i mysql også få lukket her! for så må jeg spørge om det andet i den anden kategori, men du kan jo lige ligge et svar.
Avatar billede Slettet bruger
15. august 2004 - 11:44 #22
Nej, så ville der ikke være mange brugere på eksperten, hvis alle var fejlfri ;)

Du får et svar. Jeg kan desværre ikke hjælpe med dit vbscript.
Avatar billede kenp Novice
15. august 2004 - 11:45 #23
men jeg takker for hjælpen med det andet, så må jeg se om roenving er vågen så tideligt på en søndag ;)
Avatar billede kenp Novice
15. august 2004 - 12:40 #24
fandt fejlen ;) hjælper hvis man indstallere odbc driveren som scriptet bruger *G* så nu virke det hele ;) du kan se test her http://danborg.org/spam.php
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester