Portaal Portaal Pingviini veeb foorumi pealeht
  Viki  |  IRC  |  Otsing  |  Küsimused ja vastused  |  Profiil  |  Privaatsõnumite vaatamiseks logi sisse  | Logi sisse või Registreeru
<empty>
Vaata järgmist teemat
Vaata eelmist teemat

Postita uus teemaVasta teemale
Autor Sõnum
as1238
Uus kasutaja
Uus kasutaja



Liitunud: 07.12.2009
Postitused: 13


blank.gif
postituspostitatud: 02.12.2010, 09:26  postituse pealkiri:  Jama koodijupiga:S  

Et siis on jama koodiga mis näeb välja selline:
PHP:
<?php $sql $database->query('SELECT a.`dynamic_page_id`, a.`headline`, a.`comments_allowed`, (SELECT COUNT(*) FROM `nagaro_comments` WHERE `attach_to` = \'dynamic_pages\' + a.`dynamic_page_id`) AS `comments` FROM `nagaro_dynamic_pages` AS a ORDER BY '.$order.' '.$pages->return_limit()); ?>

Et siis põhjendus ka nüüd:
Mysql andmebaasis on 2 erinevat tabelit 1 on nagaro_comments teine nagaro_dynamic_pages.
Probleem on selles, et see koodijupp näitab kommentaaride arvu 0 kuigi kommentaare on 3.
Teeme nüüd näite.. Attach_to-s on (3) dynamic_pages1 (1 on lehe id, mis on nagaro_dynamic_pages tabelis ja dynamic_page_id reas) nagaro_dynamic_pages reas on dynamic_page_id mis on 1. nüüd ta peaks arvutama kokku mitu sellise id-ga (dynamic_pages1) nagaro_comments-is on..peaks olema 3 aga 0. Loodan, et oli arusaadav
Natukene pilte ka
Image
Image
pealeht mis on id 1. seal on 0 mis peaks olema 3.
Image
Kas keegi tore oskab ulatada abistava käe ja öelda mis viga?


aldo
Uus kasutaja
Uus kasutaja


Vanus: 55
Liitunud: 13.09.2008
Postitused: 7
Asukoht: Eesti
Distributsioon: Ubuntu, Fedora
estonia.gif
postituspostitatud: 02.12.2010, 11:48  postituse pealkiri:  (teema puudub)  

PHP:
<?php $sql $database->query('SELECT a.`dynamic_page_id`, a.`headline`, a.`comments_allowed`, (SELECT COUNT(*) FROM `nagaro_comments` WHERE `attach_to` = \'dynamic_pages\' + a.`dynamic_page_id`) AS `comments` FROM `nagaro_dynamic_pages` AS a ORDER BY '.$order.' '.$pages->return_limit()); ?>


Ma pakun välja, et see a.`dynamic_page_id` selle koha peal ei saa endale praegu mingit väärtust.


as1238
Uus kasutaja
Uus kasutaja



Liitunud: 07.12.2009
Postitused: 13


blank.gif
postituspostitatud: 02.12.2010, 15:51  postituse pealkiri:  (teema puudub)  

Aga mis nipiga ma saaks anda talle väärtuse?... proovisin ka nii, et tõstsin selle + a.`dynamic_page_id` AS ette aga siis annab lehe id 0 asemele mitte ei tuvasta kui palju kommentaare on:S NII-->
PHP:
<?php $sql $database->query('SELECT a.`dynamic_page_id`, a.`headline`, a.`comments_allowed`, (SELECT COUNT(*) FROM `nagaro_comments` WHERE `attach_to` = \'dynamic_pages\' `) + a.`dynamic_page_id` AS `comments` FROM `nagaro_dynamic_pages` AS a ORDER BY '.$order.' '.$pages->return_limit()); ?>


viljaste
Uus kasutaja
Uus kasutaja



Liitunud: 20.04.2008
Postitused: 3


estonia.gif
postituspostitatud: 02.12.2010, 17:18  postituse pealkiri:  (teema puudub)  

Ehk piisab, kui string luua CONCAT() funktsiooni abil?

PHP:
<?php $sql $database->query('SELECT a.`dynamic_page_id`, a.`headline`, a.`comments_allowed`, (SELECT COUNT(*) FROM `nagaro_comments` WHERE `attach_to` = CONCAT(\'dynamic_pages\', a.`dynamic_page_id`)) AS `comments` FROM `nagaro_dynamic_pages` AS a ORDER BY '.$order.' '.$pages->return_limit()); ?>


as1238
Uus kasutaja
Uus kasutaja



Liitunud: 07.12.2009
Postitused: 13


blank.gif
postituspostitatud: 02.12.2010, 17:37  postituse pealkiri:  (teema puudub)  

viljaste kirjutas:
Ehk piisab, kui string luua CONCAT() funktsiooni abil?

PHP:
<?php $sql $database->query('SELECT a.`dynamic_page_id`, a.`headline`, a.`comments_allowed`, (SELECT COUNT(*) FROM `nagaro_comments` WHERE `attach_to` = CONCAT(\'dynamic_pages\', a.`dynamic_page_id`)) AS `comments` FROM `nagaro_dynamic_pages` AS a ORDER BY '.$order.' '.$pages->return_limit()); ?>

Viljaste aitäh sulle:) Tänu sinule sai probleem lahendatud.


priit
Vana Pingviin
Vana Pingviin


Vanus: 40
Liitunud: 04.08.2005
Postitused: 521
Asukoht: Tartu
Distributsioon: CentOS / OS X
estonia.gif
postituspostitatud: 02.12.2010, 19:29  postituse pealkiri:  (teema puudub)  

Ausalt öeldes arvan, et peaksid oma tabelid pigem üle vaatama:
comment_id -> id
dynamic_page_id -> id
attach_to -> dynamic_page_id
ja pole mingit CONCATi vaja ning tabelid palju puhtamad. Sellest nagaro_ algusest ja dynamic_pages lihtsalt pages asemel ma ei hakka rääkimagi Smile
Võib-olla on hea põhjus ...


Näita (aja järgi):      
Postita uus teemaVasta teemale


Vaata järgmist teemat
Vaata eelmist teemat
Powered by phpBB2 Plus based on phpBB © 2001/7 phpBB Group