Soort werkzaamheden:
aanpassen zoekscript
Omschrijving van de werkzaamheden:
Op dit moment zoekt mijn script in de tabel "opdrachten". In deze tabel staan een aantal opdrachten, en bij die opdrachten zijn ook vakgebieden, die genummerd zijn (dus kolom vakgebied staat bv in: 1, 4, 5)
De tabel vakgebieden correspondeert met de kolom vakgebieden, want daar staat bv in dat vakgebied met id nummer 1 het PHP vakgebied is.
Echter nu wil ik dat als mensen zoeken op "PHP" dat het zoekscript de desbetreffende opdracht met vakgebied PHP weergeeft. Alleen lukt het mij niet om er voor te zorgen dat het script het doet. Als ik zou zoeken op "1" dan selecteert die het wel, maar de bezoekers weten niet dat vakgebied 1 PHP is natuurlijk..
Budget voor dit project:
xx
Deadline: Plaats ook in TOPIC titel!
vandaag / morgen
PM me / zeg je prijs hieronder
- PHP gezocht | Deadline: 12/12 of 13/12
-
846 × bekeken sinds 12-12-2011, 17:48 #1Particulier
- Ik accepteer betaling via
- Bank
- Berichten
- 152
- Lid sinds
- 15 Jaar
PHP'er gezocht | Deadline: 12/12 of 13/12
Laatst aangepast door Roderick S : 12-12-2011 om 18:00
-
In de schijnwerper
-
12-12-2011, 18:01 #2
- Berichten
- 1.423
- Lid sinds
- 18 Jaar
Re: PHP gezocht | Deadline: 12/12 of 13/12
Kun je niet gewoon een simpele functie gebruiken?
Code:<?php function Zoekopdracht($zoek) { // elk gegeven is een 1,2,3,4... etc.. $ZoekOmzetter = array('PHP','MysQl',CSS'); return $Zoekomzetter[$zoek] } $sql = mysql_query("SELECT * FROM tabel WHERE zoekopdracht='%'.Zoekopdracht(htmlspecialchars($_POST['zoekopdracht'])).'%'")or die(mysql_error()); ?>
-
12-12-2011, 18:27 #3
- Berichten
- 152
- Lid sinds
- 15 Jaar
Re: PHP gezocht | Deadline: 12/12 of 13/12
Ohjah, ik ga even kijken of dat lukt!
-
15-12-2011, 15:45 #4
- Berichten
- 1
- Lid sinds
- 13 Jaar
Re: PHP gezocht | Deadline: 12/12 of 13/12
De geboden oplossing van Dominic is onvolledig en zet de deur op een kiertje voor SQL-injectie (niet helemaal, maar het is vast verleidelijk voor sommigen dit antwoord te copy-pasten en alleen gebruik te maken van de $_POST-variabele). htmlspecialchars is voor uitvoer van HTML en encodeert <, >, &, " naar de bijbehorende HTML-entititeiten (om XSS te voorkomen).
mysql_real_escape_string is de functie die nodig is om SQL-injectie te voorkomen bij SQL-queries (of, nog beter, gebruik zogenoemde ‘prepared statements’). Alleen is in dit geval de SQL-injectie al voorkomen door het gebruik van functie Zoekopdracht, die alles omzet tot 'PHP' als $zoek geen getal bevat.
-
15-12-2011, 15:55 #5
- Berichten
- 23
- Lid sinds
- 13 Jaar
Re: PHP gezocht | Deadline: 12/12 of 13/12
Overigens de eerste waarde binnen een array is 0 in plaats van 1.
Dus 0,1,2,3,4.
Uiteindelijk kun je zoiets bijv gebruiker
Code:<?php function Zoekopdracht($zoek) { // 1, 2, 3 (doordat ik bij de return +1 doe) $ZoekOmzetter = array('PHP','MysQl','CSS'); return (intval($Zoekomzetter[$zoek])+1); } if(is_numeric($_POST['zoekopdracht']) && $_POST['zoekopdracht'] > 0) { $_POST['zoekopdracht'] = intval($_POST['zoekopdracht']); $sql = mysql_query("SELECT * FROM tabel WHERE zoekopdracht='%'".mysql_real_escape_string(Zoekopdracht(htmlspecialchars($_POST['zoekopdracht'])))."'%'")or die(mysql_error()); } else { //fout invoer } ?>
-
15-12-2011, 16:10 #6
- Berichten
- 658
- Lid sinds
- 18 Jaar
Re: PHP gezocht | Deadline: 12/12 of 13/12
Dat kan prima alleen in MySQL, bijvoorbeeld met een JOIN:
SELECT o.opdracht_veld FROM opdrachten as o INNER JOIN vakgebieden as v ON(v.id=o.vakgebied_id) WHERE v.vakgebied LIKE '%php%'
-
15-12-2011, 17:14 #7
- Berichten
- 152
- Lid sinds
- 15 Jaar
Re: PHP gezocht | Deadline: 12/12 of 13/12
Uiteindelijk zelf geregeld :) bedankt voor de oplossingen en aanbiedingen!
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic