Avatar billede mcnovy Nybegynder
24. april 2003 - 19:04 Der er 12 kommentarer og
1 løsning

Forum

ok nu prøver jeg igen...

jeg er igang med at lave et forum...
jeg er nået til det punkt hvor man skal oprette topic..

og inde i "opret Topic" skal man skrive følgende..

Emne (subject) og Besked
det den så skal gøre er jo at oprette en ny post i db (Topic) og den for jo så et uniquet id
og så skal den jo sammetid finde ud af hvad for et nr (unique id) som den har fået i den ene tabel, og skrive det ind i den anden tabel, hvor beskederne står i..

nogen som kan hjælpe, og hvis det lød lidt kludret, så skriv det, så skal jeg prøve at skrive en lang roman isteddet :)
Avatar billede Spotgun Seniormester
24. april 2003 - 19:53 #1
Hvordan ser din database-struktur ud? Det lyder til, at den godt kunne trænge til en overhaling :-)
Avatar billede oasen Nybegynder
24. april 2003 - 19:55 #2
Conn.Execute("Insert Into ...........")
Set rs = Conn.Execute ("SELECT @@Identity AS NyesteID FROM tabelnavn")
NyesteID = rs("NyesteID")

http://activedeveloper.dk/locator.asp?guid=001000000040
Avatar billede oasen Nybegynder
24. april 2003 - 19:57 #3
Ovenstående er til Access. Hvis det er MySQL skal du bruge:

Conn.Execute("Insert Into ...........")
Set rs = Conn.Execute("Select Last_Insert_ID() From tabelnavn")
NyesteID = rs(0)
Avatar billede oasen Nybegynder
24. april 2003 - 20:00 #4
spotgun ---> En tabel til spørgsmål og en refererende tabel til svar. Hvordan ville du ellers lave det?
Avatar billede Spotgun Seniormester
24. april 2003 - 20:02 #5
Det er netop sådan jeg vil lave det. Jeg syntes bare ikke det lød på hans formulering til, at det var sådan han havde lavet det...
Avatar billede oasen Nybegynder
24. april 2003 - 20:04 #6
Ok ;)
Avatar billede mcnovy Nybegynder
24. april 2003 - 20:19 #7
2 sek, afprøver det lidt senere, er lige igang med noget andet...

men tak indtil nu..
Avatar billede oasen Nybegynder
24. april 2003 - 20:24 #8
Hvad laver du? *g*
Avatar billede mcnovy Nybegynder
25. april 2003 - 12:10 #9
jeg kunne vel ikke f¨jer til at give et lidt mere konkret svar...?
oasen.. jeg ved godt at det er det rigtige... men hvor skal det indsættes henne
Avatar billede mcnovy Nybegynder
25. april 2003 - 12:15 #10
tager den der @@identity den sidste id fra db eller hvad gør den
Avatar billede oasen Nybegynder
26. april 2003 - 19:02 #11
Det kan da dårligt blive mere konkret. Men nu får du lige et udførligt eksempel.
Her antager jeg, at tabellen "Topic" består af kolonnerne "TopicID" (autonummer), "Emne" (tekst) og "Besked" (tekst).


Conn.Execute("Insert Into Topic (Emne, Besked) Values ('" & Request.Form("emne") & "', '" & Request.Form("besked") & "'")

Set rs = Conn.Execute("Select @@Identity AS NyesteID From Topic")


rs("NyesteID") giver dig så det TopicID, der er tildelt den post, du lige har indsat i tabellen "Topic".
Avatar billede mcnovy Nybegynder
28. april 2003 - 20:24 #12
ja, har kigget lidt på det, og må erkende at jeg ikke er så god til asp..

jeg tager den lige lidt fra bunden af..

har 2 tabeler i access db..

1.
forum_topic
_indeholder følgende "fields" (som skal bruges)
Forum_id (number)
Topic_id (number)
Subject (Text)

2.
Forum_Thread
_indeholder følgende "fields" (som skal bruges)
Topic_id (number)
Author_id (number)
Message (memo)
Show_signature (til flueben) (Yes/No)

Ja, Resten kender i jo så..

ellers spørg...
den insert kode jeg har lavet, virker nok ikke, den melder ihvertfald fejl, så hvis noget vil rette fejlen, og sammetid sætte @@identify ind i koden, sågiver jeg point...
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<!--#include file="../Connections/Login.asp" -->
<%
// *** Edit Operations: declare variables

// set the form action variable
var MM_editAction = Request.ServerVariables("SCRIPT_NAME");
if (Request.QueryString) {
  MM_editAction += "?" + Request.QueryString;
}

// boolean to abort record edit
var MM_abortEdit = false;

// query string to execute
var MM_editQuery = "";
%>
<%
// *** Insert Record: set variables

if (String(Request("MM_insert")) == "form2") {

  var MM_editConnection = MM_Login_STRING;
  var MM_editTable  = "forum_topic|Forum_Thread";
  var MM_editRedirectUrl = "/Forum/Thread.asp";
  var MM_fieldsStr = "Subject|value|Forum_Id|value|User_Id|value|Message|value|Signatur|value";
  var MM_columnsStr = "Subject|',none,''|Forum_ID|none,none,NULL|topic_ID|none,none,NULL|Message|',none,''|Show_Signature|none,1,0";

  // create the MM_fields and MM_columns arrays
  var MM_fields = MM_fieldsStr.split("|");
  var MM_columns = MM_columnsStr.split("|");
 
  // set the form values
  for (var i=0; i+1 < MM_fields.length; i+=2) {
    MM_fields[i+1] = String(Request.Form(MM_fields[i]));
  }

  // append the query string to the redirect URL
  if (MM_editRedirectUrl && Request.QueryString && Request.QueryString.Count > 0) {
    MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + Request.QueryString;
  }
}
%>
<%
// *** Insert Record: construct a sql insert statement and execute it

if (String(Request("MM_insert")) != "undefined") {

  // create the sql insert statement
  var MM_tableValues = "", MM_dbValues = "";
  for (var i=0; i+1 < MM_fields.length; i+=2) {
    var formVal = MM_fields[i+1];
    var MM_typesArray = MM_columns[i+1].split(",");
    var delim =    (MM_typesArray[0] != "none") ? MM_typesArray[0] : "";
    var altVal =  (MM_typesArray[1] != "none") ? MM_typesArray[1] : "";
    var emptyVal = (MM_typesArray[2] != "none") ? MM_typesArray[2] : "";
    if (formVal == "" || formVal == "undefined") {
      formVal = emptyVal;
    } else {
      if (altVal != "") {
        formVal = altVal;
      } else if (delim == "'") { // escape quotes
        formVal = "'" + formVal.replace(/'/g,"''") + "'";
      } else {
        formVal = delim + formVal + delim;
      }
    }
    MM_tableValues += ((i != 0) ? "," : "") + MM_columns[i];
    MM_dbValues += ((i != 0) ? "," : "") + formVal;
  }
  MM_editQuery = "insert into " + MM_editTable + " (" + MM_tableValues + ") values (" + MM_dbValues + ")";

  if (!MM_abortEdit) {
    // execute the insert
    var MM_editCmd = Server.CreateObject('ADODB.Command');
    MM_editCmd.ActiveConnection = MM_editConnection;
    MM_editCmd.CommandText = MM_editQuery;
    MM_editCmd.Execute();
    MM_editCmd.ActiveConnection.Close();

    if (MM_editRedirectUrl) {
      Response.Redirect(MM_editRedirectUrl);
    }
  }

}
%>
<%
var Logo = Server.CreateObject("ADODB.Recordset");
Logo.ActiveConnection = MM_Login_STRING;
Logo.Source = "SELECT * FROM Firma_Logo";
Logo.CursorType = 0;
Logo.CursorLocation = 2;
Logo.LockType = 1;
Logo.Open();
var Logo_numRows = 0;
%>
<%
var Forum__MMColParam = "1";
if (String(Request.QueryString("Forum_ID")) != "undefined" &&
    String(Request.QueryString("Forum_ID")) != "") {
  Forum__MMColParam = String(Request.QueryString("Forum_ID"));
}
%>
<%
var Forum = Server.CreateObject("ADODB.Recordset");
Forum.ActiveConnection = MM_Login_STRING;
Forum.Source = "SELECT * FROM forum_forum WHERE Forum_ID = "+ Forum__MMColParam.replace(/'/g, "''") + "";
Forum.CursorType = 0;
Forum.CursorLocation = 2;
Forum.LockType = 1;
Forum.Open();
var Forum_numRows = 0;
%>
<%
var Hvem__MMColParam = "1";
if (String(Session("MM_Username")) != "undefined" &&
    String(Session("MM_Username")) != "") {
  Hvem__MMColParam = String(Session("MM_Username"));
}
%>
<%
var Hvem = Server.CreateObject("ADODB.Recordset");
Hvem.ActiveConnection = MM_Login_STRING;
Hvem.Source = "SELECT * FROM Login_test WHERE Username = '"+ Hvem__MMColParam.replace(/'/g, "''") + "'";
Hvem.CursorType = 0;
Hvem.CursorLocation = 2;
Hvem.LockType = 1;
Hvem.Open();
var Hvem_numRows = 0;
%>
<%
var Logo_Valgt = Server.CreateObject("ADODB.Recordset");
Logo_Valgt.ActiveConnection = MM_Login_STRING;
Logo_Valgt.Source = "SELECT * FROM Query_Logo";
Logo_Valgt.CursorType = 0;
Logo_Valgt.CursorLocation = 2;
Logo_Valgt.LockType = 1;
Logo_Valgt.Open();
var Logo_Valgt_numRows = 0;
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
@import url("/Forum/Css/Tables.css");
@import url("/Forum/Css/Repeat.css");
-->
</style>
</head>

<body>
<div align="center">
  <p><font color="#0066FF" size="+7"><strong>
    <input name="imageField5" type="image" src="/login/forum/billeder/<%=(Logo_Valgt.Fields.Item("link").Value)%>" border="0">
    </strong></font></p>
  <p align="left">&nbsp;</p>
  <table width="100%" border="0" class="Tables">
    <tr class="repeattable">
      <td width="11%"><font color="#0066FF" face="Courier New, Courier, mono">&nbsp;</font></td>
      <td width="89%"><font color="#0066FF" face="Courier New, Courier, mono">Make
        New Topic in <strong><%=(Forum.Fields.Item("Forum_name").Value)%></strong></font></td>
    </tr>
  </table>
  <form ACTION="<%=MM_editAction%>" METHOD="POST" name="form2">
    <table width="100%" border="0" class="repeattable">
      <tr>
        <td width="11%"><font color="#0066FF" face="Georgia, Times New Roman, Times, serif"><strong>Emne</strong></font></td>
        <td colspan="2"> <input name="Subject" type="text" id="Subject" size="80" maxlength="40"></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td colspan="2"> <input name="Forum_Id" type="hidden" id="Forum_Id" value="<%=(Forum.Fields.Item("Forum_ID").Value)%>">
          <input name="User_Id" type="Hidden" id="User_Id" value="<%=(Hvem.Fields.Item("Id").Value)%>">
        </td>
      </tr>
      <tr>
        <td><font color="#0066FF" face="Courier New, Courier, mono"><strong>Besked</strong></font></td>
        <td colspan="2"> <textarea name="Message" cols="75" rows="10" id="Message"></textarea></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td colspan="2">&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td colspan="2"><input name="Signatur" type="checkbox" id="Signatur" value="checkbox">
          <font color="#0066FF" face="Georgia, Times New Roman, Times, serif">
          <strong>Vis Signatur</strong></font></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td width="25%"><input name="Send" type="submit" id="Send" value="Submit"></td>
        <td width="64%"> <input name="Reset" type="reset" id="Reset" value="Reset"></td>
      </tr>
    </table>
    <input type="hidden" name="MM_insert" value="form2">
  </form>
  <p align="left"><strong><font color="#0066FF" size="+7"></font></strong> </p>
</div>
</body>
</html>
<%
Logo.Close();
%>
<%
Forum.Close();
%>
<%
Hvem.Close();
%>
<%
Logo_Valgt.Close();
%>
Avatar billede mcnovy Nybegynder
28. april 2003 - 22:24 #13
og skal lige nævnes at selvfølgelig for du også dine point oasen, du har jo svaret....
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