473,396 Members | 2,013 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

display the result of search query

hi everybody... i ran across the site and found TONS of information about what i want to do.... but i don't know what to take for my need.

here is what i want to do... a search engine for my website through the database.

you can see what i have done for now at this url

http://www.scale24-25.com/kitDB-site.php

this is the code

Expand|Select|Wrap|Line Numbers
  1. <?php
  2. // include server parameters
  3.   require('includes/configure-web.php');
  4.  
  5. ?>
  6.  
  7. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  8. <html xmlns="http://www.w3.org/1999/xhtml">
  9. <head>
  10. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  11. <title>scale24-25.com</title>
  12. </head>
  13.  
  14. <body>
  15. <?php
  16. // Make a MySQL Connection
  17. mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD) or die(mysql_error());
  18. mysql_select_db(DB_DATABASE) or die(mysql_error());
  19.  
  20.  
  21. //////////////////////////////////////////////////////////////////////////////
  22.  ?>
  23.  
  24.  
  25.  
  26. <table width="100%" border="0">
  27.   <tr>
  28.     <td><label>
  29.  
  30.         <?php        //  debut drop down  ///
  31. $sql = mysql_query("SELECT DISTINCT scale FROM kit ");
  32. $options = '';
  33.  
  34. echo '<select scale="scale"><option>Scale</option>';
  35.  
  36. while($row = mysql_fetch_array($sql)) {
  37. $thing = $row['scale'];
  38. echo '<option>'.$thing.'</option>';
  39. }
  40. echo '</select>';
  41. // fin dropdown ///?>
  42.  
  43.     </label></td>
  44.     <td>
  45. <?php        //  debut drop down  ///
  46. $sql = mysql_query("SELECT DISTINCT manufacturer_kit FROM kit ORDER BY manufacturer_kit");
  47. $options = '';
  48.  
  49. echo '<select manufacturer_kit="manufacturer_kit"><option>Kit manufacturer</option>';
  50.  
  51. while($row = mysql_fetch_array($sql)) {
  52. $thing = $row['manufacturer_kit'];
  53. echo '<option>'.$thing.'</option>';
  54. }
  55. echo '</select>';
  56. // fin dropdown ///?>
  57.     </td>
  58.     <td>
  59.         <?php        //  debut drop down  ///
  60. $sql = mysql_query("SELECT DISTINCT manufacturer_reel FROM kit ORDER BY manufacturer_reel");
  61. $options = '';
  62.  
  63. echo '<select manufacturer_reel="manufacturer_reel"><option>Reel manufacturer</option>';
  64.  
  65. while($row = mysql_fetch_array($sql)) {
  66. $thing = $row['manufacturer_reel'];
  67. echo '<option>'.$thing.'</option>';
  68. }
  69. echo '</select>';
  70. // fin dropdown ///?>
  71.     </td>
  72.   </tr>
  73.   <tr>
  74.     <td>&nbsp;</td>
  75.     <td>&nbsp;</td>
  76.     <td>&nbsp;</td>
  77.   </tr>
  78.   <tr>
  79.     <td></td>
  80.     <td>&nbsp;</td>
  81.     <td>
  82.            <?php        //  debut drop down  ///
  83. $sql = mysql_query("SELECT DISTINCT engine_detail FROM kit ORDER BY engine_detail");
  84. $options = '';
  85.  
  86. echo '<select engine_detail="engine_detail"><option><br />Engine detail</option>';
  87.  
  88. while($row = mysql_fetch_array($sql)) {
  89. $thing = $row['engine_detail'];
  90. echo '<option>'.$thing.'</option>';
  91. }
  92. echo '</select>';
  93. // fin dropdown ///?>
  94.     </td>
  95.   </tr>
  96.   <tr>
  97.     <td>&nbsp;</td>
  98.         <td><form name="input" action="kit_result.php" method="post">
  99. Keywords: 
  100. <input type="text" name="manufacturer_kit" value="" size="40">
  101. <br>
  102. <input type="submit" value="Submit">
  103.  
  104. </form> </td>
  105.     <td>&nbsp;</td>
  106.   </tr>
  107.   <tr>
  108.     <td>&nbsp;</td>
  109.     <td>&nbsp;</td>
  110.     <td>&nbsp;</td>
  111.   </tr>
  112.   <tr>
  113.     <td>&nbsp;</td>
  114.     <td></td>
  115.     <td>&nbsp;</td>
  116.   </tr>
  117. </table>
  118.  
  119. <p>you can choose to fill one OR more field. more field is fill more accurate the result will be.</p>
  120. <p>
  121.   <label></label>
  122. </p>
  123. <p>&nbsp;</p>
  124. <p>&nbsp;</p>
  125. <p>&nbsp;</p>
  126. <p>&nbsp;</p>
  127. </body>
  128. </html>
  129.  

like you can see in my submit button i put a result.php file

it's this file i want to make but i'm stuck... really don't know how to make.

in fact you can make only 1 selection and press submit ex: you select the 1/24 scale and press submit it will return ALL kit in 1/24. If you select tamiya and honda it will return every kit honda made by tamiya etc...

also i want to see the kit number, the picture, year of production and of course the picture associate to this kit.

see below my field title of my database

kit_id = the ID of the kit 0, 1 , 2 ... auto increment
kit_number
description
manufacturer_kit
manufacturer_reel
engine_detail
year_prod_kit
year_prod_reel
type
scale
image_id

so any help will be granted.

thank's in advance

sebastien
Aug 24 '09 #1
21 3114
just see the link doesn't work this is the right link

www.scale24-25.com/kitDB-site.php

thank's in advance for your help

yours

sebastien
Aug 25 '09 #2
Dormilich
8,658 Expert Mod 8TB
@scaleautostyle
result.php has to do 4 main tasks
  1. prepare the input for DB query
  2. query the DB
  3. prepare the DB results for display
  4. display the results
1.1) get the data from $_GET or $_POST (haven’t seen the opening <form>).
1.2) remove the unnecessary values
1.3) sanitize against SQL Injection. how you do that exactly depends on your DB system (Database Abstraction Layer, if you have one)
2) run the query
3) this again depends strongly on your DB system (results from a PDO based system differ quite much from a simple mysql_query())
4) print the values where you want them to be.

notes:
your file is neither valid XHTML nor is it ever treated as XHTML.
CSS helps you building cleaner and smaller HTML code.
Aug 25 '09 #3
thank you your answer Dormilich!!

about cleaning the file with CSS ... is what i,m doing right now... what you see at the moment is only for you helping me. this way you can see what i want to do.

Now time to jump in the CORE of the subject..

let me know what information you need to help me with the code for my result.php file.

i need to get any selection made the user in the dropdown and after that searchg the database for every matching item and after display the result.

can you gave me a hint of code that can do this. i'm using a normal mysql database nothing fancy.

this site is not for purchasing something. this is only a BIG library of everything made in 1/24 - 1/25 scale.

you can check the main page www.scale24-25.com i explain a bit more what it will do.

but for now i have to made some coding and it's whwere i have some problem

thank's in advance for your help

sebastien
Aug 25 '09 #4
Dormilich
8,658 Expert Mod 8TB
@scaleautostyle
mainly how you want to do it, what you require, basic coding stuff.

first you need to decide, how you want to interact with your DB. from personal experience I can recommend a “Database Abstraction Layer”* (like PHP’s PDO and MySQLi classes). You should also consider using a “PHP framework”* (e.g. CodeIgniter), so you don’t have to code everything by yourself (and making DB queries is quite a common task). Once you decided about that we can talk about preparing data.

@scaleautostyle
two possible routes are
1) fetching all the requested data and process that in a loop
2) fetching the matching DB keys and do fetch & display **

@scaleautostyle
I can give you an example of code I use, but that won’t help you much.


* google search term
** this can save considerable amount of code + way more flexible
Aug 25 '09 #5
thank's for the reply Dormilich!!

i just download CodeIgniter.. that's sound great for a beginner.. but i have a problem.. it's the first it's happen and i don't know what to do.

when i open the index.php file in my browser ( using my localhost) a pop-up appear to log in my localhost. it's asking my username and password.. what's this???

also i will do what you think it will be the best for the purpose of the site i'm building. do you see the update page www.scale24-25.com/kitDB-site.php it's a bit better,

so let me know about the popup login i got and by what you want to start.

i will e a VERY GOOD student sir. promise.

thank's

sebastien
Aug 25 '09 #6
Dormilich
8,658 Expert Mod 8TB
@scaleautostyle
beats me why… no idea. check your server directory for a .htaccess file (this is used on apache for a login pop-up). on all posix os this is a hidden file!

@scaleautostyle
it’s not about what I think… it looks way better now :)

well, as for the HTML, get rid of the table, it’s not necessary.
and drop XHTML, if you don’t want to use the possibilities of using XML
Aug 25 '09 #7
WOU ouuu... it's working... i found the .htaccess file and delete it... now it's working..

what do you mean by rid the XHTML... i wrote my code using adobe dreamweaver selecting new PHP and open. i don't use XHTML

what do you mean by this??

well, as for the HTML, get rid of the table, it’s not necessary.
do you mean to use CSS instead of what i use??

and now i'm ready to sstrat... hum hum.. by what we begin proffessor??

thank's

sebastien
Aug 25 '09 #8
Dormilich
8,658 Expert Mod 8TB
@scaleautostyle
you (Dreamweaver resp.) use a XHTML 1.0 DTD… use this instead
Expand|Select|Wrap|Line Numbers
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
  2.         "http://www.w3.org/TR/html4/strict.dtd">
@scaleautostyle
CSS is a layout language. so if you have semantic (structural) html code, you can use CSS to make it look like you want it. (see CSS Zen Garden, always the same HTML, but each CSS brings a totally new appearance)

ex. full code
Expand|Select|Wrap|Line Numbers
  1.             <ol id="all_params">
  2.                 <li>
  3.                     <label for="limit_l">Intervall von:</label>
  4.                     <input  id="limit_l" type="text" size="20" value="0" />
  5.                 </li>
  6.                 <li>
  7.                     <label for="limit_r">Intervall bis: </label>
  8.                     <input  id="limit_r" type="text" size="20" value="1" />
  9.                 </li>
  10.            </ol>
Expand|Select|Wrap|Line Numbers
  1. ol {
  2.     list-style-type: none;
  3. }
  4.  
  5. li label {
  6.     float: left;
  7.     width: 10em;
  8.     text-align: right;
  9.     padding-right: 0.5em;
  10. }
  11.  
  12. li {
  13.     clear: both;
  14.     padding-top: 0.5em;
  15. }
Aug 26 '09 #9
thank's for the hint about the xhtml.. i will change all my file.

for the CSS i'm working on that already. when it will be finish i will let you know.

and now about my initial problem... the sql query neede to my search option...

by what i start ( or by what we start proffessor )

yours

sebastien
Aug 26 '09 #10
Dormilich
8,658 Expert Mod 8TB
@scaleautostyle
well, well, my dear pupil… ;)

this is indeed not an easy decision to make (for I’m not an SQL expert).

I guess you have to construct the SQL string according to the options on which you refine (you could in theory fetch all IDs which match each option separately and only use these that occur in every result set, but this is not good if you have huge data sets).
… looks like a reasonable way to go.

of course you should read CodeIgniter’s MySQL section (if you use CI). this should clear the matter, how you connect & query (mostly)
Aug 26 '09 #11
connecting to the database is not a problem. i don't understand how i can get the result. if you or somebody put a simple code on how to do base on my need.. ( with my field and file) it will be appreciate

ex: if someone click on the 1/24 from the scale drop down and click submit. what's the code need to return all the 1/24 found in the table kit field scale.

if he select tamiya from the manufacturer kit dropdown and honda from the reel manufacturer dropdown and then click the submit button.. what will be the code to return the info from the table kit field manufacturer_kit and manufacturer_reel.

all my code can be found in the post above. base on this file what i have to change to work. may be i have to change some variable or other things. i read, read, and RE-read. but it look like if i ask you to read an instruction in chinese. you will read 100 time but never understand. except if i gave a traduction of a small text you will be able to compare the instruction with my text and so..

i hope someone can help me i really need an answer for my problem

yours and thank's in adavance for your help

sebastien
Aug 26 '09 #12
Dormilich
8,658 Expert Mod 8TB
@scaleautostyle
my problem here is, that I don’t know the CI mysql syntax.

@scaleautostyle
Expand|Select|Wrap|Line Numbers
  1. -- as a prepared statement
  2. SELECT `kit_id` FROM table_name WHERE `scale` = ?
then you can use another prepared statement to fetch all the data
Expand|Select|Wrap|Line Numbers
  1. -- SQL
  2. SELECT * FROM table_name WHERE `kit_id` = ?
  3.  
  4. # PHP
  5. foreach ($id_array as $id)
  6. {
  7.   // pseudo code, use CI’s syntax instead
  8.   $pdos->execute(array(1 => $id))
  9.   printResult($pdos->fetch());
  10. }
@scaleautostyle
Expand|Select|Wrap|Line Numbers
  1. -- as a prepared statement
  2. -- get 20 results from offset
  3. SELECT `kit_id` FROM table_name WHERE `manufacturer_kit` = ? AND `manufacturer_reel` = ? LIMIT ?,20
  4.  
  5. # PHP (again, mostly pseudo code)
  6. $pdos->execute(array(1 => "tamiya", 2 => "honda", 3 => 0));
  7. $id_array = $pdos->fetchAll();
the output code is the same as above
Aug 26 '09 #13
still get the #$#%$% problem this is the link of the page

http://www.scale24-25.com/kitDB-site.php

for this page NO PROBLEM.. here it is... when you clic on the go button it supposed to return what the user select in the field. ex: you choose 1/24 and honda. a query will search the database under the column scale to find every 1/24 and under the constructor name to find all honda and them display the result.

this query have to be made in a separate files name kitDB-result.php.

but i REALY don't know what the query need to be.

if you can gave me an exemple of the query using my data it will be appreciate

yours

sebastien

PS: use this.

database name: sebastien
username: SAS
password: resinkit

sale column = scale
kit manufacturer = kit_manufacturer
engine = engine

thanks in advance
Sep 17 '09 #14
Frinavale
9,735 Expert Mod 8TB
Did you try the SQL statement that Dormilich suggested?
It looks "right" to me too, mind you I'm not a SQL expert...

Whenever I get stuck on SQL stuff I turn to my trusty database book or the w3cschools site. The W3CSchools site has examples on the Select Statement and the Where Clause that may help you get an idea of what you need to do....
Sep 17 '09 #15
RedSon
5,000 Expert 4TB
SELECT `kit_id` FROM table_name WHERE `manufacturer_kit` = ? AND `manufacturer_reel` = ?
This is a simple select statement. It should work no problem. Be aware however that you need to replace the ? with actual data. If that select gets the data you want then you can start to LIMIT the output and order it and do all sorts of fancy things. Just get the basic SQL down first.

The only problem is that you are selecting only one field of data "kit_id" if you want everything from the whole table "table_name" you would change kit_id to *.
Sep 17 '09 #16
@RedSon

ok but how I can replace the ? by the selection of the user....

thanks in advance

sebastien
Sep 17 '09 #17
TheServant
1,168 Expert 1GB
Expand|Select|Wrap|Line Numbers
  1. mysql_query( "
  2.     SELECT kit_id
  3.     FROM table_name
  4.     WHERE manufacturer_kit='$manufacturer_kit' AND manufacturer_reel='$manufacturer_reel'
  5.     LIMIT 1
  6. " );
Obviously you will need to define your $manufacturer_kit and $manufacturer_reel variables. I made a string using " so that php variable can be included, and then I wrapped the variables in ' so that MySQL is happy. You could also have a multipart string, but that is easier. I also added a LIMIT 1, so that only one record is returned, and it stops searching after it gets that one. Look it up if you haven't used it before.
Sep 17 '09 #18
Dormilich
8,658 Expert Mod 8TB
@RedSon
You’ve got the intention wrong. this is not a simple SELECT statement to display the results, it is a SELECT statement for use as Prepared Statement. the "?" will be replaced in the execute() call. further this statement only fetches the kit_id, because for the result display, there will be used another Prepared Statement, which uses the selected IDs to get the complete data.
Sep 18 '09 #19
Dormilich
8,658 Expert Mod 8TB
@scaleautostyle
Expand|Select|Wrap|Line Numbers
  1. $PDOStatement->execute(array(1 => "tamiya", 2 => "honda"));
Sep 18 '09 #20
TheServant
1,168 Expert 1GB
@Dormilich
lol, pays to read the post. Didn't realize it was CI - Ignore my previous post!
Sep 18 '09 #21
Dormilich
8,658 Expert Mod 8TB
well, it wasn’t even CI, just some plain PDO.
Sep 18 '09 #22

Sign in to post your reply or Sign up for a free account.

Similar topics

10
by: minchu | last post by:
Hello, I have used CSS in HTML page (font-verdana size-8pt), looks fine in windows but in linux the fonts are corrupt and its too small. Kindly help me and tell what is the solution to correct...
2
by: Alec | last post by:
First attempt at doing an exercise on paginating result sets When I run the code, I receive the error "Fatal error: Call to undefined function: mysql_fetch_objects() in...
2
by: assgar | last post by:
Hi Developemnt on win2003 server. Final server will be linux Apache,Mysql and PHP is being used. I use 2 scripts(form and process). The form displays multiple dynamic rows with chechboxs,...
0
by: peridian | last post by:
Hi, I wanted a web page where I could post code to, and have it appear in coloured formatting based on the context of the code. Most of the techniques I have seen for this involve complex use...
2
by: assgar | last post by:
Hi Multiple rows of dynamically created data is retrived from the database and displayed properly. When I get 50 rows displayed scrolling is necessary. The problem is when I scroll to see the...
3
by: WiseG1rly | last post by:
Hey everyone! I am completley new and I will start off by saying that I am not a programmer - figuring out this search took so long! I am debugging now and would appreciate any help :) ...
1
by: jasone | last post by:
Hi all, ive got a search function running on a database, the action performed by the form is shown below, within the 'else' statement i would like to show roughly 5 random rows from the sql table...
5
by: howzy | last post by:
Hello I am new to the database world and Ive learned how to do a few things storing text is easy. i found that out but trying to get an image to show up on a page is difficult and i cant seem to find...
5
by: agarwalsrushti | last post by:
Hi, Im just stuck up with a small query. In my database ive a table called specialization which is dependent on qualification. In specialization i ve 3 fields: QualificationId,...
1
by: angelicdevil | last post by:
i have listbox 1 which displays status , based on selection of status listbox 2 displays usernames. and based on username selected the textbox displays the email id. its working fine till...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.