Search MySQL

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

Search MySQL

Δημοσίευση από geosep » 18 Φεβ 2010 12:50

Εκανα μια MySQL db και εγραψα καποια δεδομενα οπως βλεπετε στην screen.
Προσπαθω να κανω τωρα σε PHP τον κωδικα για να κανω search στην MySQL db και να παιρνω τα αποτελεσματα τα οποια πρεπει να ειναι σε 3 θεσεις, στα Κινεζικα, στα Αγγλικα και μια εικονα.
Βρηκα σε μια ιστοσελιδα εναν ωραιο κωδικα αλλα δεν μπορεσα να τον κανω να λειτουργησει.

Ο κωδικας ειναι απο την παρακατω ιστοσελιδα:
http://www.reynoldsftw.com/2009/03/live ... mment-8387

Αυτο που εκανα ειναι στην παρακατω ιστοσελιδα:
http://search.c-sro.eu/

Τα errors στην γραμμη 20 και 33 ειναι τα παρακατω:

20: $total = mysql_fetch_array($sql);

33: while($array = mysql_fetch_array($sql)) {


Ολο τον κωδικα μπορειτε να τον δειτε στην ιστοσελιδα απο οπου τον πηρα.


Σας Ευχαριστω εκ των προτερων
Συνημμένα
MySQLdb.JPG

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Search MySQL

Δημοσίευση από fafos » 18 Φεβ 2010 15:54

auta ta errors mporei na einai otidhpote.. an den doseis ton kodika opos ton exeis kanei esy den prokeitai na katalavoume pou enai to lathos.. epishs tsekare an exeis dosei tous sostous kodikous syndeshs me thn vash..

geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

Search MySQL

Δημοσίευση από geosep » 18 Φεβ 2010 16:20

search.php

Κώδικας: Επιλογή όλων

<?php

$dbhost = "localhost";
$dbuser = "Username_ebala_kanonika";
$dbpass = "Password_evala_kanonika";
$dbname = "alexanl3_search";

$conn = mysql_connect&#40;$dbhost, $dbuser, $dbpass&#41; or die                      &#40;'Error connecting to mysql'&#41;;
mysql_select_db&#40;$dbname&#41;;

if&#40;isset&#40;$_GET&#91;'query'&#93;&#41;&#41; &#123; $query = $_GET&#91;'query'&#93;; &#125; else &#123; $query = ""; &#125;
if&#40;isset&#40;$_GET&#91;'type'&#93;&#41;&#41; &#123; $type = $_GET&#91;'type'&#93;; &#125; else &#123; $query = "count"; &#125;

if&#40;$type == "count"&#41;
&#123;
	$sql = mysql_query&#40;"SELECT count&#40;url_id&#41; 
								FROM urls 
								WHERE MATCH&#40;url_url, url_title, url_desc&#41;
								AGAINST&#40;'$query' IN BOOLEAN MODE&#41;"&#41;;
	$total = mysql_fetch_array&#40;$sql&#41;;
	$num = $total&#91;0&#93;;
	
	echo $num;
	
&#125;

if&#40;$type == "results"&#41;
&#123;
	$sql = mysql_query&#40;"SELECT url_url, url_title, url_desc 
								FROM urls 
								WHERE MATCH&#40;url_url, url_title, url_desc&#41;
								AGAINST&#40;'$query' IN BOOLEAN MODE&#41;"&#41;;
	while&#40;$array = mysql_fetch_array&#40;$sql&#41;&#41; &#123;

		$url_url = $array&#91;'url_url'&#93;;
		$url_title = $array&#91;'url_title'&#93;;
		$url_desc = $array&#91;'url_desc'&#93;;
		
		echo "<div class=\"url-holder\"><a href=\"#" . $url_url . "\" class=\"url-title\" target=\"_blank\">" . $url_title . "</a>
	
	<div class=\"url-desc\">" . $url_desc . "</div></div>";
				
	&#125;
	
&#125;

mysql_close&#40;$conn&#41;;

?>
index.html

Κώδικας: Επιλογή όλων

<html>
	<head>
		<title>Live Search</title>
		<script src="js/jquery-1.3.2.min.js"></script>
		<script src="js/jquery-ui-1.7.custom.min.js"></script>
		<script src="js/controller.js"></script> 
		
	<LINK href="css/live.css" rel="stylesheet" type="text/css">
	</head>
	<body>
		<h1>Search Item</h1>
		
		<div id="form">
		  <input type="text" id="searchbox" name="searchbox" />
		  <div id="buttonContainer">
				<a class="button" id="submitbutton" href="http&#58;//search.c-sro.eu"><span id="buttontext">Search</span></a>
		  </div>
	</div>
		<div id="resultsContainer"></div>
		
		<div id="footer">Type any item in English and you will the name in Chinese.</div>
	
	</body>
</html>
Εχω και αλλες db και λειτουργουνε κανονικα με τα usernames και passwords.

Υποψιν οτι δεν γνωριζω και πολλα απο αυτα, οτι καταφερνω απο guides και tutorials Που βρισκω.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Search MySQL

Δημοσίευση από fafos » 18 Φεβ 2010 16:34

pisteueis oti allazontas aplos tous kodikous ths vashs tha douleue?

prepei na allakseis ta dedomena pou zhta sta queries me ta dika sou (url_url, url_title, url_desc FROM urls ) opos epishs kai auta:

Κώδικας: Επιλογή όλων

      $url_url = $array&#91;'url_url'&#93;;
      $url_title = $array&#91;'url_title'&#93;;
      $url_desc = $array&#91;'url_desc'&#93;;
      
      echo "<div class=\"url-holder\"><a href=\"#" . $url_url . "\" class=\"url-title\" target=\"_blank\">" . $url_title . "</a>
   
   <div class=\"url-desc\">" . $url_desc . "</div></div>"; 

geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

Search MySQL

Δημοσίευση από geosep » 18 Φεβ 2010 18:26

Επειδη δεν τα παω και καλα με αυτα μηπως μπορειτε να με βοηθησετε?
Στην εικονα παραπανω εχω την βαση με τα δεδομενα, που να βαλω και τι?

Σας ευχαριστω πολυ για την γρηγορη απαντηση.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Search MySQL

Δημοσίευση από fafos » 18 Φεβ 2010 18:30

geosep έγραψε:Επειδη δεν τα παω και καλα με αυτα μηπως μπορειτε να με βοηθησετε?
Στην εικονα παραπανω εχω την βαση με τα δεδομενα, που να βαλω και τι?

Σας ευχαριστω πολυ για την γρηγορη απαντηση.
auto to script listarei kapoia links.. esena to link pou prepei na phgainei? sthn vash sou ektos ton titlon exeis mono ena id kai mia photo..

geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

Search MySQL

Δημοσίευση από geosep » 18 Φεβ 2010 18:39

Για να σου δωσω να καταλαβεις, θελω να κανω search για ενα ονομα γραφοντας το στα Αγγλικα και να μου απανταει ολες τις πιθανες απαντησεις στα Αγγλικα, Κινεζικα και παραλληλα να δειχνει και τις εικονες της καθε απαντησης.

Εχω βαλει ID σαν μοναδικο για να μετραει μονο του.
Εχω βαλει namecn δηλαδη ονοματα στα Κινεζικα
Και nameen ονοματα στα Αγγλικα.

Ειναι παρομιο με αυτο που εχει κανει αυτος που πηρα το script, εχει και ενα video στο site του.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Search MySQL

Δημοσίευση από fafos » 18 Φεβ 2010 18:44

geosep έγραψε:Για να σου δωσω να καταλαβεις, θελω να κανω search για ενα ονομα γραφοντας το στα Αγγλικα και να μου απανταει ολες τις πιθανες απαντησεις στα Αγγλικα, Κινεζικα και παραλληλα να δειχνει και τις εικονες της καθε απαντησης.

Εχω βαλει ID σαν μοναδικο για να μετραει μονο του.
Εχω βαλει namecn δηλαδη ονοματα στα Κινεζικα
Και nameen ονοματα στα Αγγλικα.

Ειναι παρομιο με αυτο που εχει κανει αυτος που πηρα το script, εχει και ενα video στο site του.
na emfanizei to link ths eikonas h thn eikona san eikona sta apotelesmata ths anazhthshs?

geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

Search MySQL

Δημοσίευση από geosep » 18 Φεβ 2010 18:51

ονομα στα Αγγλικα / Ονομα στα Κινεζικα / και την εικονα, οχι το link


Οπως στο παρακατω video

http://www.pixeldigest.com/Videos/phpsi ... sites.html

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Search MySQL

Δημοσίευση από fafos » 18 Φεβ 2010 19:19

Κώδικας: Επιλογή όλων

<?php

$dbhost = "localhost";
$dbuser = "Username_ebala_kanonika";
$dbpass = "Password_evala_kanonika";
$dbname = "alexanl3_search";

$conn = mysql_connect&#40;$dbhost, $dbuser, $dbpass&#41; or die                      &#40;'Error connecting to mysql'&#41;;
mysql_select_db&#40;$dbname&#41;;

if&#40;isset&#40;$_GET&#91;'query'&#93;&#41;&#41; &#123; $query = $_GET&#91;'query'&#93;; &#125; else &#123; $query = ""; &#125;
if&#40;isset&#40;$_GET&#91;'type'&#93;&#41;&#41; &#123; $type = $_GET&#91;'type'&#93;; &#125; else &#123; $query = "count"; &#125;

$query = mysql_real_escape_string&#40;$query&#41;;


if&#40;$type == "count"&#41;
&#123;
   $sql = mysql_query&#40;"SELECT count&#40;id&#41;
                        FROM onoma_table
                        WHERE MATCH&#40;namecn, nameen&#41;
                        AGAINST&#40;'$query' IN BOOLEAN MODE&#41;"&#41;;
   $total = mysql_fetch_array&#40;$sql&#41;;
   $num = $total&#91;0&#93;;
   
   echo $num;
   
&#125;

if&#40;$type == "results"&#41;
&#123;
   $sql = mysql_query&#40;"SELECT namecn, nameen, image
                        FROM onoma_table
                        WHERE MATCH&#40;namecn, nameen&#41;
                        AGAINST&#40;'$query' IN BOOLEAN MODE&#41;"&#41;;
   while&#40;$array = mysql_fetch_array&#40;$sql&#41;&#41; &#123;

      $namecn = $array&#91;'namecn'&#93;;
      $nameen = $array&#91;'nameen'&#93;;
      $image = $array&#91;'image'&#93;;
      
      echo '<table width="600" cellpadding="3" cellspacing="0" style="border-width &#58; 1px 1px 1px 1px;border-style &#58; solid solid solid solid;border-color &#58; #cccccc #cccccc #cccccc #cccccc;">
  <tbody>
    <tr>
      <td align="center" valign="top" style="padding-right &#58; 15px;" width="120">
	  
<img src="'.$image.'" style="max-width&#58;120px;max-height&#58;120px;" border="0">	  
	  
	  </td>
      <td align="left" valign="top" style="font-size &#58; 12px;font-family &#58; Verdana;font-weight &#58; normal;color &#58; #000099;">
English title&#58; '.$nameen.'<br />
Chnese title&#58; 	 '.$namecn.'  
	  
	  
	  
	  </td>
    </tr>
  </tbody>
</table>
<br />
';
            
   &#125;
   
&#125;

mysql_close&#40;$conn&#41;;

?>

allakse to onoma_table (se 2 shmeia) me to onoma pou exeis dosei ston pinaka...

geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

Search MySQL

Δημοσίευση από geosep » 18 Φεβ 2010 23:24

Το εκανα οπως το εχεις και μου εβγαλε 2 errors.

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home1/alexanl3/public_html/search/search.php on line 23

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home1/alexanl3/public_html/search/search.php on line 36

23: $total = mysql_fetch_array($sql);

36: while($array = mysql_fetch_array($sql)) {

EDIT: Μηπως εχει σχεση η version της PHP και της MySQL στον server μου?
PHP 5
MySQL 5

geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

Search MySQL

Δημοσίευση από geosep » 20 Φεβ 2010 18:08

Καποιος να βοηθησει εδω σας παρακαλω??

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Search MySQL

Δημοσίευση από Basilakis » 21 Φεβ 2010 23:49

Σίγουρα, ορίστε

http://php.net/docs.php

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Search MySQL

Δημοσίευση από ThyClub » 22 Φεβ 2010 00:30

Θα πρέπει να ορίσεις μέσα απο το phpmyadmin τα πεδία :
namecn, nameen να είναι FULLTEXT. Αλλιώς no Match ... against

geosep
Δημοσιεύσεις: 52
Εγγραφή: 15 Μαρ 2009 01:26

Search MySQL

Δημοσίευση από geosep » 22 Φεβ 2010 03:09

Basilakis έγραψε:Σίγουρα, ορίστε

http://php.net/docs.php

Αν καταλαβαινα και τιποτα καλα θα ητανε.


ThyClub έγραψε:Θα πρέπει να ορίσεις μέσα απο το phpmyadmin τα πεδία :
namecn, nameen να είναι FULLTEXT. Αλλιώς no Match ... against

Δεν βλπεπω πουθενα να γραφει FULLTEXT αλλα μονο σκετο TEXT και μετα απο το STRING εχει TINYTEXT, TEXT, MEDIUMTEXT και LONGTEXT.

Δοκιμασα τα παντα αλλα και παλι τιποτα.

EDIT: Εβγαλε FULLTEXT τελικα.
Συνημμένα
23212.JPG

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες