ABA


"חיפוש בAJAX"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #14499 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 14499
Mr Andersson
חבר מתאריך 19.3.02
6234 הודעות, 1 פידבק
   16:02   18.10.08   
אל הפורום  
  חיפוש בAJAX  
 
   שלום, יש לי עמוד בPHP עם טבלה שהנתונים בה נמצאים במסד נתונים והעמוד פשוט מושך את כל הנתונים ויוצר מהם טבלה.
הטבלה הזו נועדה שיערכו בה חיפוש אבל בIE למשל החיפוש הוא קצת מסורבל, לא כמו בFF שהוא טיפה יותר יעיל, אז חשבתי לשים תיבת טקסט בראשית העמוד שהמשתמשים יכניסו מילה שיש בטבלה ואז העמוד יציג באותו הדף פשוט מתחת לטבלה את כל הרשומות שיש בהן את המילה הנ"ל.

אין לי שום ידע בAJAX אבל אני לומד מהר (יוחאי יכול להעיד ;] ), ואני יודע שאפשר לממש את זה בJS אבל אני מעדיף בAJAX כדי ללמוד ולראות איך זה.


תודה

http://i60.tinypic.com/35aowg8.jpg


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  מכתב Groove 18.10.08 17:17 1
     כן הסתדרתי, Mr Andersson 18.10.08 17:31 2
         אולי לא סגרת אותו? Groove 18.10.08 17:57 3
             סגרתי, ומה ההבדל ? Mr Andersson 18.10.08 18:09 4
                 P זה פסקה Groove 18.10.08 18:11 5
                     השכלתי :) Mr Andersson 18.10.08 18:18 6
                         awardspace סבבה לגמרי =) Groove 18.10.08 19:09 8
  רק הבהרה קטנה , akoka 18.10.08 18:47 7

       
Groove
חבר מתאריך 6.8.11
219 הודעות
   17:17   18.10.08   
אל הפורום  
  1. מכתב  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 18.10.08 בשעה 17:18 בברכה, Groove
 
אצלי זה ככה:

ajax.js


var xmlObj;

function getRightObj( )
{
xmlObj = null;

try
{
// Firefox, Opera 8.0+, Safari
xmlObj = new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlObj = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
}
}

return xmlObj;
}

function chkState( )
{
if ( xmlObj.readyState == 4 )
{
document.getElementById("suggestions").innerHTML = xmlObj.responseText;
document.getElementById("suggestions").style.display = "block";
}
}

function suggestQuery( str )
{
if ( str.length == 0 )
{
document.getElementById("suggestions").style.display = "none";
return;
}

xmlObj = getRightObj();

if ( xmlObj == null )
{
alert("Your browser does not support AJAX!");
return;
}

var url = "/prj/search.php";
url += "?q=" + str;
url += "&ajax=true&sid=" + Math.random();

xmlObj.onreadystatechange = chkState;
xmlObj.open( "GET", url, true );
xmlObj.send( null );
}

search.php


<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

require_once 'config.inc.php';
require_once CLASSES . 'db.class.php';
require_once INCLUDES . 'functions.php';

$query = escapeThese( $_GET['q'] );
$ajax = ( $_GET['ajax'] ? true : false );
if ( !empty ( $query ) )
{
$db = new dbConn();
$db->connect( 'root', '1234', 'localhost' );
$db->select_db( 'groov3z_db' );

$suggestions = $db->qry( "SELECT * FROM `files`
WHERE `name` LIKE '%$query%'
OR `descr` LIKE '%$query%'
ORDER BY `name`" );
$response = ( $db->num_rows() > 0 ? '' : false );

if ( $ajax )
{
while ( $suggest = @mysql_fetch_object( $suggestions ) )
{
$response .= '<div class="tr">
<div class="suggestion" onclick="copyQuery( this.innerHTML )">' . $suggest->name . '</div>
</div>';
}

print $response;
}
else
{
include_once 'header.inc.php';
include_once INCLUDES . 'flags.php';

print ('<div class="tblSearchResults">
<div class="category">
<img src="' . $imgs['icons']['search'] . '" alt="Search Results"></img>
<span style="position: absolute; padding-top: 6px;">
Search Results
<span class="query">→ ' . $query . '</span>
</span>
</div>

<div class="tr">
<div class="idHeader">#</div>
<div class="fileHeader">Filename</div>
<div class="postHeader">Posted</div>
<div class="donorHeader">Donor</div>
<div class="clicksHeader">Clicks</div>
<div class="hitsHeader">Hits</div>
</div>
');

while ( $suggest = @mysql_fetch_object( $suggestions ) )
{
$response .= '<div class="tr">
<div class="td"><div class="id">' . $suggest->id . '</div></div>
<div class="td"><div class="filename">
<a href="mirrors.php?ac=view&id=' . $suggest->id . '">' . $suggest->name . '</a></div></div>
<div class="td"><div class="post">' . date("M y, H:iA", $suggest->post) . '</div></div>';
$donor = @mysql_fetch_object( $db->qry( "SELECT `id`, `username`, `country` FROM `users` WHERE `id` = $suggest->aid" ) );
$response .= '<div class="td"><div class="donor">
<a href="profiles.php?id=' . $donor->id . '">
<img src="' . $imgs['flags'] . $flags[$donor->country] . '" alt="Location: ' . $donor->country . '"></img>
' . $donor->username . '</a>
</div></div>
<div class="td"><div class="clicks">' . $suggest->clicks . '</div></div>
<div class="td"><div class="hits">' . $suggest->hits . '</div></div>
</div>';
}

print $response . '</div>';
include_once 'footer.inc.php';
}
}
else
{
// advanced search...
// not done yet, refer to index.php
header( "Location: /prj/index/" );
}
?>

תתייחס לקטע של if $ajax, ותתעלם מcopyQuery().
בקיצור אני מאמין שתוכל לשנות את זה לצרכים שלך בקלות
תהנה אחי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Mr Andersson
חבר מתאריך 19.3.02
6234 הודעות, 1 פידבק
   17:31   18.10.08   
אל הפורום  
  2. כן הסתדרתי,  
בתגובה להודעה מספר 1
 
   עשיתי עמוד php שמחפש את התוצאות ומדפיס אותם ואז בJS זה מכניס את זה לp
עכשיו סתם שאלה, למה שאני מוסיף p אז גודל הפונט של מה שמתחתיו משתנה לי ?

http://i60.tinypic.com/35aowg8.jpg


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Groove
חבר מתאריך 6.8.11
219 הודעות
   17:57   18.10.08   
אל הפורום  
  3. אולי לא סגרת אותו?  
בתגובה להודעה מספר 2
 
   ועזוב אותך p, דיב לנצח!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Mr Andersson
חבר מתאריך 19.3.02
6234 הודעות, 1 פידבק
   18:09   18.10.08   
אל הפורום  
  4. סגרתי, ומה ההבדל ?  
בתגובה להודעה מספר 3
 
   חח מה ההבדל ביניהם ?

בסוף הוספתי בCSS עיצוב לP ולTABLE ביחד ככה שהכל בסדר עכשיו

http://i60.tinypic.com/35aowg8.jpg


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Groove
חבר מתאריך 6.8.11
219 הודעות
   18:11   18.10.08   
אל הפורום  
  5. P זה פסקה  
בתגובה להודעה מספר 4
 
   DIV אפשר להגיד אותו כאיזור נראה לי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Mr Andersson
חבר מתאריך 19.3.02
6234 הודעות, 1 פידבק
   18:18   18.10.08   
אל הפורום  
  6. השכלתי :)  
בתגובה להודעה מספר 5
 
   חח תגיד אתה מכיר איזה אחסון חינמי טוב עם PHP וmysql ?
אני צריך לאחסן איזה 10 קבצים כולה ומסד נתונים אחד
byethost עושים לי בעיות והם איטיים גם :(

http://i60.tinypic.com/35aowg8.jpg


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Groove
חבר מתאריך 6.8.11
219 הודעות
   19:09   18.10.08   
אל הפורום  
  8. awardspace סבבה לגמרי =)  
בתגובה להודעה מספר 6
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

   18:47   18.10.08   
אל הפורום  
  7. רק הבהרה קטנה ,  
בתגובה להודעה מספר 0
 
   AJAX=JS


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net