Jamen dog! Hvor er det JavaScript henne?
Din browser understøtter ikke JavaScript eller har ikke understøttelsen slået til. Slå JavaScript til i din browser for at se denne side ordentligt, eller opgrader til en browser, der understøtter JavaScript.
Besøgende online nu
Gæster online 5
Brugere online 0

Antal brugere: 184
Nyeste bruger: 007

dbcount fra en"™ række i sql tabel

Sidst opdateret den 14 år siden
O
olelauErfaren bruger
Skrevet d. 14 år siden
Jeg er i gang med at lave en brevkasse infusion og i den forbindelse skal jeg bruge en entry tæller på et felt som bruges til side navigation.
Se her: http://hgs.dk/radio/infusions/brevkas...replys.php
Den er sat til 2 pr. side som test.
Koden jeg har brugt ser sådan ud:

$rows = dbcount("(panel_brevkasse_id)", DB_BREVKASSE);

if (!isset($_GET['rowstart']) || !isnum($_GET['rowstart'])) { $_GET['rowstart'] = 0; }
if ($rows != 0) {

$result = dbquery("SELECT * FROM ".DB_BREVKASSE." ORDER BY panel_brevkasse_id DESC LIMIT ".$_GET['rowstart'].",2");


Og til navigering:

<div align='center' style='margin-top:5px;'>\n".makepagenav($_GET['rowstart'], 2, $rows, 3, FUSION_SELF."?")."\n</div>


Det virker fint, men det er bare ikke id feltet jeg vil tælle.
Når jeg besvarer et brev er der to felter til det, et til privat svar :

panel_brevkasse_no_reply text NOT NULL


Og et til offentlig svar, synligt på hjemmesiden:

panel_brevkasse_reply text NOT NULL


Så feltet jeg vil tælle entry I er panel_brevkasse_reply men det virker ikke, den tæller stadig id vel sagtens fordi feltet hedder noget forkert.

Er der en der ved hvordan det gøres, feltet skal kun indeholde tekst der godt kan blive langt.

Det skal bruges fordi begge felter gemmes i databasen, og når den tæller det usynlige felt med går der kludder i navigationen.

Infusion.php se sådan ud:

$inf_newtable[1] = DB_BREVKASSE." (
panel_brevkasse_id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
panel_brevkasse_title text NOT NULL,
panel_brevkasse_cat text NOT NULL,
panel_brevkasse_questions text NOT NULL,
panel_brevkasse_user MEDIUMINT(8) UNSIGNED DEFAULT '0' NOT NULL,
panel_brevkasse_name VARCHAR(30) NOT NULL DEFAULT '',
panel_brevkasse_reads INT(10) UNSIGNED NOT NULL DEFAULT '0',
panel_brevkasse_no_reply text NOT NULL,
panel_brevkasse_reply text NOT NULL,
PRIMARY KEY (panel_brevkasse_id)
) TYPE=MyISAM;";
Ole Lauritsen
O
olelauErfaren bruger
Skrevet d. 14 år siden
Med en hel del hjælp fra google fandt jeg løsningen

Koden skal se sådan ud:

$rows = dbcount("(panel_brevkasse_reply)", "".DB_BREVKASSE."", [color=#ff0000]"panel_brevkasse_reply != ''"[/color]);


if (!isset($_GET['rowstart']) || !isnum($_GET['rowstart'])) { $_GET['rowstart'] = 0; }
if ($rows != 0) {

$result = dbquery("SELECT * FROM ".DB_BREVKASSE." ORDER BY panel_brevkasse_reply DESC LIMIT ".$_GET['rowstart'].",2");


Det med rødt er ændringen.
Jo jo man kan stadig lære selv om man er en gammel knold.
Ole Lauritsen
F
fljFusioneer
Skrevet d. 14 år siden
Når der ikke er andre muligheder, så må admins ty til selv både spille og besvare spørgsmålene :)
Du kan se alle diskussionstråde i dette debatforum.
Du kan ikke starte en ny diskussionstråd i dette debatforum.
Du kan ikke svare i denne diskussionstråd.
Du kan ikke påbegynde en afstemning i dette debatforum.
Du kan ikke vedhæfte downloads i dette debatforum.
Du kan ikke vedhæfte downloads i dette debatforum.
Log ind
Er du endnu ikke registreret bruger? Klik her for at oprette dig.
Glemt kodeord?