Toon posts:

php postgresql tsearch vraag

Pagina: 1
Acties:
  • 30 views sinds 30-01-2008

Verwijderd

Topicstarter
PHP:
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
44
45
46
47
48
49
$zoek_string = (isset($_POST['zoektekst'])) ? $_POST['zoektekst'] : '';

if ($zoek_string != '')
{
    $bgColor = "#DFDFDF";
    $evenColor = "#DFDFDF";
    $oddColor = "#C0C0C0";
    
    {
        $sql =
            "SELECT produkt_id,headline('default_dutch', tekst, q), ".
            "rank(vectors,q) ".
            "FROM produkt, ".
            "to_tsquery('default_dutch', '$zoek_string') AS q ".
            "WHERE vectors @@ q ORDER BY rank(vectors,q) DESC";

        $recordset = $db->Execute($sql);

        $i = 1;
        if ($recordset) 
        {
            while (!$recordset->EOF) 
            {
                if ($i % 2 == 0) $bgColor = $evenColor; else $bgColor = $oddColor;
                //  width=\"90\" height=\"135\" align=\"center\" "valign=\"middle\" 
        
                $output .= 
                    "<td bgcolor=\"$bgColor\">";
                $output .= $recordset->fields[0];
                $output .= "</td>";
        
                $output .= 
                    "<td bgcolor=\"$bgColor\">";
                $output .= $recordset->fields[1];
                $output .= "</td>";
                
                $output .= 
                    "<td bgcolor=\"$bgColor\">";
                $output .= $recordset->fields[2];
                $output .= "</td>";
                
                $recordset->MoveNext();
                $i++;
            }
        }
    }
    
    exit;
}


Wat gaat hier fout, iemand een idee...
alvast bedankt _/-\o_

[ Voor 19% gewijzigd door Verwijderd op 18-01-2005 22:30 ]


  • simon
  • Registratie: Maart 2002
  • Laatst online: 15-05 16:45
d'r gaat wel veel fout in dit topic zeg.. pehw... gebruik php tags, identing enzo.. Show ons de errors...
Hier is je script, ge-ident en ge-php tagt :P
PHP:
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
44
45
46
47
48
49
50
51
<?PHP
$zoek_string = (isset($_POST['zoektekst'])) ? $_POST['zoektekst'] : '';

if ($zoek_string != '')
{
    $bgColor = "#DFDFDF";
    $evenColor = "#DFDFDF";
    $oddColor = "#C0C0C0";

    {
        $sql =
        "SELECT
             produkt_id,headline('default_dutch', tekst, q), rank(vectors,q) 
        FROM 
        produkt, to_tsquery('default_dutch', '" . $zoek_string . "') AS q 
        WHERE vectors @@ q ORDER BY rank(vectors,q) DESC";

        $recordset = $db->Execute($sql);

        $i = 1;
        if ($recordset)
        {
            while (!$recordset->EOF)
            {
                if ($i % 2 == 0) $bgColor = $evenColor; else $bgColor = $oddColor;
                // width=\"90\" height=\"135\" align=\"center\" "valign=\"middle\"

                $output .=
                "<td bgcolor=\"$bgColor\">";
                $output .= $recordset->fields[0];
                $output .= "</td>";

                $output .=
                "<td bgcolor=\"$bgColor\">";
                $output .= $recordset->fields[1];
                $output .= "</td>";

                $output .=
                "<td bgcolor=\"$bgColor\">";
                $output .= $recordset->fields[2];
                $output .= "</td>";

                $recordset->MoveNext();
                $i++;
            }
        }
    }

    exit;
}
?>

[ Voor 124% gewijzigd door simon op 18-01-2005 22:19 ]

|>


Verwijderd

Topicstarter
dit is een gedeelte van een groter script, ik zal het volledige script even posten, het probleem is alleen dat ik uit die querie om de een of andere manier geen output krijg.... :| en het moet een kleine foutje zijn volgens mij... maar hier het volledige script...

PHP:
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
<?php
include "session.php";
require_once("../../../config.php");
include_once('../../../adodb/adodb.inc.php');
require_once("HTML/Template/IT.php"); // template system

//-----------------------------------------------------------------------------
function categorie($db, $bedrijf_id, &$categorie_id)
//-----------------------------------------------------------------------------
{
    $sql = "select categorie_id, naam from categorie where bedrijf_id = $bedrijf_id";
    $recordset = $db->Execute($sql);
    $output = "";

    $output .=
    "<select name=\"categorie\" onChange=\"document.location.href = 'zoek.php?". 
    "bedrijf_id=$bedrijf_id&categorie_id=' + myform.categorie.value; \" >";

    $i = 1;
    if ($recordset) 
    while (!$recordset->EOF) 
    {
        if ((!$categorie_id) && ($i == 1)) // set selected option if case of none categorie_id
        {
            $output .= "<option value=\"".$recordset->fields[0]."\" SELECTED>".$recordset->fields[1]."</option>";
            $categorie_id = $recordset->fields[0];
        }
        else
        if ($categorie_id == $recordset->fields[0]) // categorie_id exists
        {
                $output .= "<option value=\"".$recordset->fields[0]."\" SELECTED>".$recordset->fields[1]."</option>";
                $categorie_id = $recordset->fields[0];
        }
        else // other records
        {
            $output .= "<option value=\"".$recordset->fields[0]."\">".$recordset->fields[1]."</option>";
        }

        $i++;
        $recordset->MoveNext();
    }

    $output .= "</select>";

//  return $categorie_id;
    return $output;
}

//-----------------------------------------------------------------------------
function inhoud($db, $categorie_id, &$inhoud_id)
//-----------------------------------------------------------------------------
{
    PEAR::setErrorHandling(PEAR_ERROR_DIE, "(inhoud) Error: %s");
    global $bedrijf_id;
    $output = "";

    $sql = "select inhoud_id, inhoud from inhoud where categorie_id = " . $categorie_id;
    $recordset = $db->Execute($sql);

    $output .=
    "<select name=\"inhoud\" onChange=\"document.location.href = 'zoek.php?". 
    "bedrijf_id=$bedrijf_id&categorie_id=' + myform.categorie.value + ".
    "'&inhoud_id=' + myform.inhoud.value;\" >";

    $i = 1;
    if ($recordset) 
    while (!$recordset->EOF)
    {
        if ( (!$inhoud_id) && ($i == 1) ) // set selected option if no categorie_id
        {
            $output .= "<option value=\"".$recordset->fields[0]."\" SELECTED>".$recordset->fields[1]."</option>";
            $inhoud_id = $recordset->fields[0];
        }
        else
        if ($inhoud_id == $recordset->fields[0])
        {
                $output .= "<option value=\"".$recordset->fields[0]."\" SELECTED>".$recordset->fields[1]."</option>";
                $inhoud_id = $recordset->fields[0];
        }
        else
        {
            $output .= "<option value=\"".$recordset->fields[0]."\">".$recordset->fields[1]."</option>";
        }

        $i++;
        $recordset->MoveNext();
    }

    echo "</select>";
//  return $inhoud_id;
    return $output;
}

//-----------------------------------------------------------------------------
function produkt($db, $bedrijf_id, $categorie_id, $inhoud_id, &$count)
//-----------------------------------------------------------------------------
{
    $bgColor = "";
    $evenColor = "#DFDFDF";
    $oddColor = "#C0C0C0";
    $output = "";
    $sql =
        "select produkt_id, naam from produkt where bedrijf_id=$bedrijf_id and ".
        "categorie_id=$categorie_id and inhoud_id=$inhoud_id";

    $recordset = $db->Execute($sql);

    $i = 1;
    if ($recordset) 
    while (!$recordset->EOF) 
    {
        if ($i % 2 == 0) $bgColor = $evenColor; else $bgColor = $oddColor;
//  width=\"90\" height=\"135\" align=\"center\" "valign=\"middle\" 

        $output .= 
            "<td bgcolor=\"$bgColor\">";
        $output .=
            "<a href=\"groot.php?bedrijf_id=$bedrijf_id&categorie_id=$categorie_id".
            "&inhoud_id=$inhoud_id&produkt_id=".$recordset->fields[0]."\">".
            "<img border=\"0\" ".
            "src=\"image.php?type=zoekprodukt&id=".
            $recordset->fields[0] . "\"></a><br>" . $recordset->fields[1];
        $output .= "</td>";

        $recordset->MoveNext();
        $i++;
    }

    $count = $i - 1;
    return $output;
}

//-----------------------------------------------------------------------------
function zoek($db, $produkt_id)
//-----------------------------------------------------------------------------
{
    # SELECT produkt_id,headline('default_dutch', tekst, q), 
    # rank(vectors,q) 
    # FROM produkt, 
    # to_tsquery('default_dutch', 'aardig') AS q
    # WHERE vectors @@ q ORDER BY rank(vectors,q) DESC;
    
    $bgColor = "#DFDFDF";
    $evenColor = "#DFDFDF";
    $oddColor = "#C0C0C0";
    $output = "";
    $sql =
        "SELECT produkt_id,headline('default_dutch', tekst, q), ".
        "rank(vectors,q)".
        "FROM produkt,".
        "to_tsquery('default_dutch', $zoektekst) AS q".
        "WHERE vectors @@ q ORDER BY rank(vectors,q) DESC";

    $recordset = $db->Execute($sql);

    $i = 1;
    if ($recordset) 
    while (!$recordset->EOF) 
    {
        if ($i % 2 == 0) $bgColor = $evenColor; else $bgColor = $oddColor;
//  width=\"90\" height=\"135\" align=\"center\" "valign=\"middle\" 

        $output .= 
            "<td bgcolor=\"$bgColor\">";
        $output .=
            "$produkt_id";
        $output .= "</td>";

        $recordset->MoveNext();
        $i++;
    }

    $count = $i - 1;
    return $output;
}

//-----------------------------------------------------------------------------
// WEBPAGE
//-----------------------------------------------------------------------------

$bedrijf_id = (isset($_GET['bedrijf_id'])) ? $_GET['bedrijf_id'] : '';
$categorie_id = (isset($_GET['categorie_id'])) ? $_GET['categorie_id'] : '';
$inhoud_id = (isset($_GET['inhoud_id'])) ? $_GET['inhoud_id'] : '';

$db = ADONewConnection($dsn);
$db->debug = true;
if (!$db) die("Connection failed");

$count = 0; // number of pictures

$zoek_string = (isset($_POST['zoektekst'])) ? $_POST['zoektekst'] : '';

if ($zoek_string != '')
{
    $bgColor = "#DFDFDF";
    $evenColor = "#DFDFDF";
    $oddColor = "#C0C0C0";
    
    echo $zoek_string;

    {
        $sql =
            "SELECT produkt_id,headline('default_dutch', tekst, q), ".
            "rank(vectors,q) ".
            "FROM produkt, ".
            "to_tsquery('default_dutch', 'niels') AS q ".
            "WHERE vectors @@ q ORDER BY rank(vectors,q) DESC";

        $recordset = $db->Execute($sql);

        $i = 1;
        if ($recordset) 
        {
            while (!$recordset->EOF) 
            {
                if ($i % 2 == 0) $bgColor = $evenColor; else $bgColor = $oddColor;
                //  width=\"90\" height=\"135\" align=\"center\" "valign=\"middle\" 
        
                $output .= 
                    "<td bgcolor=\"$bgColor\">";
                $output .= $recordset->fields[0];
                $output .= "</td>";
        
                $output .= 
                    "<td bgcolor=\"$bgColor\">";
                $output .= $recordset->fields[1];
                $output .= "</td>";
                
                $output .= 
                    "<td bgcolor=\"$bgColor\">";
                $output .= $recordset->fields[2];
                $output .= "</td>";
                
                $recordset->MoveNext();
                $i++;
            }
        }
    }
    
    exit;
}

$str_categorie = categorie($db, $bedrijf_id, $categorie_id);
$str_inhoud = inhoud($db, $categorie_id, $inhoud_id);
$str_produkt = produkt($db, $bedrijf_id, $categorie_id, $inhoud_id, $count);

$maccode = "";

if( ereg("Safari", $_SERVER['HTTP_USER_AGENT']) )
{
    $maccode = "style=\"top: 99;\"";
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>
<title> DHTML Scroller </title>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
<LINK REL=stylesheet HREF="../css/global.css" TYPE="text/css">
<style type="text/css">
@import "glide-scroll-h.css.php?count=<?echo $count?>";
</style>
<script src="dw_scrollObj.js" type="text/javascript"></script>
<script src="dw_glidescroll.js" type="text/javascript"></script>
<script type="text/javascript">
function initScrollLayer() {
  // arguments: id of layer containing scrolling layers (clipped layer), id of layer to scroll, 
  // if horizontal scrolling, id of element containing scrolling content (table?)
  var wndo = new dw_scrollObj('wn', 'lyr1', 't1');
  
  // pass id('s) of scroll area(s) if inside table(s)
  dw_scrollObj.GeckoTableBugFix('wn'); 
}
</script>

</head>
<body onload="initScrollLayer()">

<div style="position:absolute;left:1px; top: 1px;">
    <form method="POST" enctype="multipart/form-data" name="myform" action="zoek.php?bedrijf_id=<?echo $bedrijf_id;?>">
    <table align="left" border="0" cellspacing="0" cellpadding="0">
    
    <tr>
        <td height="20"></td>
    </tr>
    
    <tr>
        <td rowspan="2">[img]"image.php?type=zoek&id=<?echo[/img]"></td>
        <td width="15"></td>
        <td>categorie</td>
        <td width="15"></td>
        <td>inhoud:</td>
        <td width="15"></td>
        <td rowspan="2"></td>
    </tr>
    
    <tr>
        <td></td>
        <td><?php echo $str_categorie;?></td>
        <td></td>
        <td><?php echo $str_inhoud;?></td>
        <td></td>
        <td><input type="text" name="zoektekst"></td>
        <td></td>
        <td><input type="Submit" value="Submit2" name="Submit2">[img]"../images/search.jpg"></td>
    </tr>
    
    </table>
    </form>
</div>

<div[/img]
<table class="main" cellspacing="0" cellpadding="8" border="0">
<tr>
  <td> </td>
    <td>
<!-- scrolling layers -->
<div id="hold" <?php echo $maccode;?>>
  <div id="wn">
    <div id="lyr1" class="content">
    <table id="t1" cellpadding="0" cellspacing="0" border="0">
     <tr>
            <?php echo $str_produkt;?>
     </tr>
    </table>
    </div>
  </div>  <!-- end wn div -->
</div>  <!-- end hold div -->
  </td>
  <td> </td>
</tr>
</table>

</div>

<div style="position:absolute;left:0px; top: 220px">
<table>
<tr>
  <td class="spacer"> </td>
<!-- dw_scrollObj.scrollBy arguments: scroll area id (this is also first argument to constructor), 
     amount to scroll onclick on x, y axes, (optional, not included here) duration of glide -->
  <td class="arrows">
    <a href="#" onclick="dw_scrollObj.scrollBy('wn', 200, 0); return false;" title="Click to scroll">[img]"../images/aro-lft.gif"[/img]</a>
    <a href="#" onclick="dw_scrollObj.scrollBy('wn', -200, 0); return false;" title="Click to scroll">[img]"../images/aro-rt.gif"[/img]</a>
  </td>
  <td class="spacer"> </td>
</tr>
</table>
</div>
    
</body>
</html>

[ Voor 48% gewijzigd door Verwijderd op 18-01-2005 22:31 ]


Verwijderd

Topicstarter
en waarom neemt hij de indenting niet over van de ctrl+c ctrl+v... ik kopieer uit zend... sorry daarvoor...

  • simon
  • Registratie: Maart 2002
  • Laatst online: 15-05 16:45
waah, wat moeten wij met die meuk? Hier worden we niet wijzer van, doe je ook nog aan error reporting?
Verwijderd schreef op dinsdag 18 januari 2005 @ 22:21:
en waarom neemt hij de indenting niet over van de ctrl+c ctrl+v... ik kopieer uit zend... sorry daarvoor...
PHP tag [norml]
PHP:
1
<?php ?>
[/]

[ Voor 57% gewijzigd door simon op 18-01-2005 22:21 ]

|>


Verwijderd

Topicstarter
in debug mode krijg ik de volgende output

test
--------------------------------------------------------------------------------
(postgres7): SELECT produkt_id, headline('default_dutch', tekst, q), rank(vectors, q) FROM produkt, to_tsquery('default_dutch', 'niels') AS q WHERE vectors @@ q ORDER BY rank(vectors, q) DESC

maar hij doet niks met de waarde die uit deze query zouden moeten komen...
Het is net alsof hij er niks mee doet... geen errors niks da's het probleem...

maar als ik deze query bijvoorbeeld draai in phppgadmin draai dan krijg ik wel de goede waardes te zien, voor mij zou het nu al genoeg zijn als ik die waardes op het scherm krijg, maar er zit ergens een fout / denkfout... alleen ik kan het niet vinden dus hoop dat het zo duidelijk is mocht je nog meer willen weten kan dat

[ Voor 29% gewijzigd door Verwijderd op 18-01-2005 22:35 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 14:22

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op dinsdag 18 januari 2005 @ 22:14:
[php]
Wat gaat hier fout, iemand een idee...
alvast bedankt _/-\o_
Ja, jij! Jij weet wat er niet goed gaat, maar dat vertel je niet. Waarschijnlijk heb je zelf al enige moeite gedaan om dat wat er mis gaat op te lossen, maar dat vertel je niet. Je krijgt misschien wel een foutmelding maar dat vertel je niet.

Je laat nu te veel gok werk over.

Dus: wat gaat er precies mis? Waar denk je dat dat mis gaat? Wat heb je zelf al gedaan om het op te lossen? En post daarbij de relevante code (wt je nu post is echt te veel.)

Lees P&W FAQ - De "quickstart" en open met die kennis gerust een nieuw topic :)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.