Αρχή :: Ενότητες :: Scripting :: Απαντήσεις     
 

Forum

Count σε directory system - Από {mpempe}

Έχω 'ενα directory system για τηνκαλύτερη οργάνωση links.
Στην Database στον πίνακα υπάρχει μιά στήλη CAT_ID με το ID της κάθε κατηγορίας που εμφανιζεται με αριθμό.
ΠΧ. Η κατηγορία "Μηχανές αναζήτησης" είναι το 5 κλπ.
Αυτό που θέλω να κάνω είναι να παρουσιάζω τον αριθμό των εγγραφών κάθε κατηγορίας.
Χρησιμοποίηση το παρακάτω script αλλα μου εμφανίζει την καταμέτρηση μιας κατηγορίας.

Το script είναι το ακόλουθο.

<%

Dim strCode,rsCountCode,Mycodeconn

set Mycodeconn =server.createobject("ADODB.connection")
Mycodeconn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/dir.mdb")

SET rsCountCode = Server.CreateObject("ADODB.Recordset")

strCode = "SELECT * FROM LINKS WHERE CAT_ID = 5 "
Set rsCountCode = Mycodeconn.Execute(strCode) 'execute sql call

rsCountCode.MoveFirst
vartotal = 0
Do While Not rsCountCode.EOF
vartotal = vartotal + 1
rsCountCode.MoveNext
Loop
%>

Μηχανές Αναζήτησης: (<%=vartotal%>)
Εκπαίδευση:
Free stuff :


<%
rsCountCode.Close
set rsCountCode = nothing
%>

Πως μπορώ να μετατρέψω το script ώστε να μπορώ να παρουσιάσω δίπλα απο τις αλλες υποκατηγορίες τον αριθμό των εγγραφών;
Το ID της κατηγορίας "Εκπαίδευση" είναι 3 και της κατηγορίας "Free stuff " είναι 1.
Τι μετατροπή πρεπει να κάνω?

 


Απάντηση από:agrippas

Πιο σωστή (και γρήγορη) μέθοδος για να μετρήσεις records είναι αυτή:

Από την τρίτη γραμμή του κώδικά σου και μετά (πες ότι έχεις ορίσει dim intPlh8osEggrafwn:

1. Set rsCountCode = Server.CreateObject("ADODB.Recordset")
2. rsCountCode.CursorType = 1 'αλλιώς θα βγάζει αποτέλεσμα -1
3. strCode = "SELECT * FROM LINKS WHERE CAT_ID = 5;"
4. rsCountCode.Open strCode, Mycodeconn
5. intPlh8osEggrafwn = rsCountCode.RecordCount
6. rsCountCode.Close

Τώρα για να μετατρέψεις το ερώτημα

Άλλαξε τη γραμμή 3 σε:

strCode = "SELECT * FROM LINKS WHERE CAT_ID = 1;"
και επανάλαβε τις γραμμές μέχρι και το 6.

μετά Άλλαξε πάλι τη γραμμή 3 σε:

strCode = "SELECT * FROM LINKS WHERE CAT_ID = 3;"
και επανάλαβε τις γραμμές μέχρι και το 6.

Στο τέλος:

set rsCountCode = nothing
και αν δε χρειάζεσαι πια τη σύνδεση με τη βάση, κλείσε την αμέσως:

Mycodeconn.Close
Set Mycodeconn = Nothing

Αφού πάρεις όλα τα αποτελέσματα σε μεταβλητές, τότε άρχισε να τα βγάζεις σε html.



tip: Gr και διεθνή domain names με Δωρεάν φιλοξενία 1000Mb php - perl για πάντα * F5 για νέο tip

   Πίσω στην προηγούμενη σελίδα






Η Εταιρία | Web Hosting | Domain names | Web Information | Υπηρεσίες | Resellers | Υποστήριξη |
Copyright © 2007–09 4GR.NETWORKS, All rights reserved.