[php] zoeken op 0

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • bekkel
  • Registratie: Augustus 2000
  • Laatst online: 17-09 20:54

bekkel

BoEsm Productions

Topicstarter
Ik heb een zoekscript gemaakt welke goed werkt.
enkel kwam iemand er achter dat als je enkel wilt zoeken op 0 (nul) dat je een error krijgt. zodra je zoekt op 0 (nul) en een andere waarde/text krijg je geen error en zoek het script ook op de 0 (nul)

nu kan ik gaan afvangen dat je niet alleen op 0 (nul) mag zoeken..maar dat is een beetje krom.
Kan iemand mij uitleggen waarom hij dit doet en/of hoe ik dit correct kan oplossen.?

.........www.raketje.com....................soon.....


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

* curry684 zoekt z'n glazen bol zodat ie bekkel's code kan zien... d'oh! Die's kwijt! :/

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

Het probleem zou wellicht wat duidelijker voor ons worden met een foutmelding en ongeveer 10 regels relevante code, geschreven tussen [code=php][/code]-tags.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Laat me raden, je gebruikt ergens de empty() functie. Als je die vervangt door isset() zou het weleens kunnen werken.

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 12:52
Kan je eens wat specifieker zijn?

Je hebt dus een zoekscript gemaakt, waar zoek je in, in een DB? Zoja, hoe ziet je SELECT query er uit?
Van welk type is het veld waarop je zoekt,
etc etc....

Misschien kan je eens de P&W Quickstart lezen?
curry684 schreef op 06 oktober 2003 @ 20:11:
* curry684 zoekt z'n glazen bol zodat ie bekkel's code kan zien... d'oh! Die's kwijt! :/
* whoami heeft hem niet.
* whoami is innocent.

[ Voor 34% gewijzigd door whoami op 06-10-2003 20:13 ]

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • bekkel
  • Registratie: Augustus 2000
  • Laatst online: 17-09 20:54

bekkel

BoEsm Productions

Topicstarter
Snel ff wat code laten zien..

$string is het veld waar de gebruiker zijn zoekwoorden heeft ingevuld

code:
1
2
$q_array=explode(" ", $string);
$q_num=(integer)count($q_array);


De WHERE (hier file_name) wordt opgebouwd door de uitkomste achter elkaar te zetten.

code:
1
$andnr .= "AND file_name LIKE '%$q_array[$i]%' ";



error:

paFileDB was unable to successfully run a MySQL query.
MySQL Returned this error: You have an error in your SQL syntax near '' at line 1 Error number: 1064
The query that caused this error was: SELECT * FROM pahack_files WHERE

.........www.raketje.com....................soon.....


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 11:40
Euh, moet dat niet NULL met dubbel L zijn?

En aan je snelle code is ook niet echt een touw vast te knopen :?

|>


Acties:
  • 0 Henk 'm!

  • KompjoeFriek
  • Registratie: Maart 2001
  • Laatst online: 15-08 22:46

KompjoeFriek

Statsidioot

Zou je je query eens kunnen afdrukken ipv uitvoeren. kun je vaak al zien wat er fout gaat...
(wel als je op die 0 zoekt dan hè)
Kom je er dan nog niet uit, post de query dan ff, kunnen wij er ff naar kijken.

WhatPulse! - Rosetta@Home - Docking@Home


Acties:
  • 0 Henk 'm!

  • bekkel
  • Registratie: Augustus 2000
  • Laatst online: 17-09 20:54

bekkel

BoEsm Productions

Topicstarter
de query wordt opgebouwd en men kan op vele velden zoeken. (deze is erg lang)

als ik enkel 0 invul krijg je zo een query:
code:
1
$result = $pafiledb_sql->query($db, "SELECT * FROM $db[prefix]_files WHERE $andnr", 0);

waarbij $andnr leeg is, als ik enkel op 0 zoek.

Dit heb ik nu afgevangen door eerst $andnr te controleren of deze bestaat.
de code is: (kort samengevat)
code:
1
2
3
4
5
6
7
8
9
10
if (!$string3=="")  {
   $i=0
   $q_array=explode(" ", $string);

   $q_num=(integer)count($q_array);
   while ($i < $q_num) {
      $andnr .= "AND (file_name LIKE '%$q_array[$i]%' ) ";
   }
$result = $pafiledb_sql->query($db, "SELECT * FROM $db[prefix]_files WHERE $andnr", 0);
}


de AND wordt afgevangen als dit nodig is.

.........www.raketje.com....................soon.....


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 11:40
Kun je niet het resultaat van het opbouwen van je query printen/echo'en.. Dan zie je snel wat er mis is :)

|>


Acties:
  • 0 Henk 'm!

  • bekkel
  • Registratie: Augustus 2000
  • Laatst online: 17-09 20:54

bekkel

BoEsm Productions

Topicstarter
heb dus gekeken.. en $andrn is dus leeg als ik enkel op 0 zoek.
echo $q_array[$i]; levert niks op. :(
als ik op 0 en e zoek dan doet ie het wel goed. dan zoekt ie zowel op 0 en e.

.........www.raketje.com....................soon.....


Acties:
  • 0 Henk 'm!

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 17-09 06:59

Eelke Spaak

- Vlad -

Nogmaals, zet je SQL query in een variabele en echo() 'm eventjes. Post hem dan in dit topic, dan zien we wat we ermee kunnen doen. ;)

TheStreme - Share anything with anyone


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

't Zal wel met elke 1-variabelige zoekstring foutgaan...
Want je krijgt dan iets als WHERE AND file_name LIKE ...

Verder zal dit wel fout gaan op een verkapte vorm van empty(), namelijk zoiets:
if (!$string3=="") {

Als ik echter puur de string 0 explode, dan krijg ik minstens 1 waarde en zou er toch echt wat in je $andstr moeten zitten:
PHP:
1
2
3
4
5
6
7
<?
print_r(explode(' ', 0));
?>
 Array
(
    [0] => 0
)


Dus je zult nog even wat beter moeten debuggen voor je de boel op kan lossen.

[ Voor 3% gewijzigd door ACM op 07-10-2003 00:36 ]


Acties:
  • 0 Henk 'm!

  • bekkel
  • Registratie: Augustus 2000
  • Laatst online: 17-09 20:54

bekkel

BoEsm Productions

Topicstarter
't Zal wel met elke 1-variabelige zoekstring foutgaan...
Want je krijgt dan iets als WHERE AND file_name LIKE ...


the eerste AND wordt afgevangen dus dat is niet het probleem..
ik zal eens verder naar de verkapte vorm van empyt() kijken....
thanks

[ Voor 3% gewijzigd door bekkel op 07-10-2003 09:23 ]

.........www.raketje.com....................soon.....

Pagina: 1