Query opsplitsen in tweeen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Frank -

Frank -

29/01/2008 17:30:00
Quote Anchor link
Pelckie schreef op 29.01.2008 17:24:
Error report staat idd op een laag niveau, sterker nog het staat uit. Dus als ik bijvoorbeeld syntax errors heb dan is dat wel is lastig...
Aanzetten die zooi!
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
define('DEBUG'    , true); // false voor een live-website

ini_set('display_errors', DEBUG);
error_reporting(E_ALL | E_STRICT);


// rest van je code
?>

Vervolgens kun je in je code de constante DEBUG gebruiken om te bepalen of je een systeemfout op je scherm wilt tonen of juiste een gebruikersvriendelijke foutmelding.
 
PHP hulp

PHP hulp

15/11/2024 12:35:33
 
Pelckie

Pelckie

30/01/2008 10:00:00
Quote Anchor link
Hier nog het belangrijkste deel van de datastructuur, plus code:

CREATE TABLE `mct_hitpages` (
`id` int(11) NOT NULL auto_increment,
`page_title` varchar(128) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `page_title` (`page_title`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=190 ;

CREATE TABLE `mct_paths` (
`id` int(11) NOT NULL auto_increment,
`page_id` int(11) NOT NULL default '0',
`position` int(11) NOT NULL default '0',
`session_id` int(11) NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `session_id` (`session_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=14113;

CREATE TABLE `mct_sessions` (
`id` int(11) NOT NULL auto_increment,
`visitors_id` int(11) NOT NULL default '0',
`member_id` int(11) NOT NULL default '0',
`session` varchar(32) NOT NULL default '',
`date` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id`),
KEY `date` (`date`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6909;


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php

$Query_All
= SELECT session_id, count( session_id ) AS amount, date
                            FROM mct_paths
                            INNER JOIN mct_sessions ON mct_paths.session_id = mct_sessions.id
                            GROUP BY session_id
                            HAVING date
                            BETWEEN '$startDates'
                            AND '$endDates'
                            ORDER BY amount ASC

        while($Session_All = mysql_fetch_assoc($Query_All))//start while loop through paths
        {
            $end=0;
            $y=0;

            $Query_Session = MySQL_Query("SELECT page_id FROM mct_paths WHERE session_id ='".$Session_All['session_id']."' ");
            
            while($Page_ID = mysql_fetch_assoc($Query_Session)) //&& $End == 0) //start while in while
            {
                $y++;
                $Query_Pages = MySQL_Query("SELECT page_title FROM mct_hitpages WHERE id='".$Page_ID['page_id']."'");
                $Page = mysql_fetch_assoc($Query_Pages);
                $PageTotal = mysql_num_rows($Query_Session);
                
                $arrow = ($y == $PageTotal) ? "" : "<img src='images/arrow.png'>";
                
                if(strlen($List[$i])<350)
                {

                    $List[$i] .= $Page['page_title'].$arrow;//fill array
                }
                else
                {
                    if ($end==0)
                    {

                        $List[$i] .= "...";//fill array
                        $end=1;
                    }
                }
            }

            $i++;
        }

?>
Gewijzigd op 01/01/1970 01:00:00 door Pelckie
 
Pelckie

Pelckie

30/01/2008 21:18:00
Quote Anchor link
Heeft er nog iemand suggesties?
 
Pelckie

Pelckie

30/01/2008 22:43:00
Quote Anchor link
Blanche schreef op 29.01.2008 17:21:
Als het daadwerkelijk 3 hele verschillende queries op 3 verschillende tabellen zou betreffen, kun je er waarschijnlijk niet omheen. Maar als ik zo eens kijk naar de queries die je gebruikt, krijg ik het sterke vermoeden dat je dit waarschijnlijk ook wel in 1 of 2 queries kunt oplossen...

Laat anders eens zien hoe je datamodel eruit ziet en omschrijf eens wat je precies uit die tabellen wilt ophalen. Dan kunnen we eens kijken :-)


Ik heb inmiddels het datamodel hierboven gepost, ben benieuwd of je er iets van kan maken met 1 of 2 queries..
 
Joren de Wit

Joren de Wit

30/01/2008 22:47:00
Quote Anchor link
Bumpen mag pas na 24 uur!

Welke gegevens wil je uit bovenstaande datamodel halen dan?
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.