Search Results

Search found 28756 results on 1151 pages for 'op amp'.

Page 103/1151 | < Previous Page | 99 100 101 102 103 104 105 106 107 108 109 110  | Next Page >

  • Lock a mutex multiple times in the same thread

    - by Megacan
    Hi, I'm developing an application on an embedded linux OS (uClinux) and I need to be able to lock the mutex more than once (by the same thread). I have a mutex and a mutexattr defined and initialized as follows: pthread_mutexattr_t waiting_barcode_mutexattr; pthread_mutex_t waiting_barcode_mutex; pthread_mutexattr_init(&waiting_barcode_mutexattr); pthread_mutexattr_settype(&waiting_barcode_mutexattr, PTHREAD_MUTEX_RECURSIVE); pthread_mutex_init(&waiting_barcode_mutex, &waiting_barcode_mutexattr); But when I try to acquire the lock twice it blocks on the second lock: pthread_mutex_lock(&waiting_barcode_mutex); pthread_mutex_lock(&waiting_barcode_mutex); Am I initializing it wrong or is there a better way of accomplishing the same? Thanks in advance.

    Read the article

  • How can I strip line breaks from my XML with XSLT?

    - by Eric
    I have this XSLT: <xsl:strip-space elements="*" /> <xsl:template match="math"> <img class="math"> <xsl:attribute name="src">http://latex.codecogs.com/gif.latex?<xsl:value-of select="text()" /></xsl:attribute> </img> </xsl:template> Which is being applied to this XML (notice the line break): <math>\text{average} = \alpha \times \text{data} + (1-\alpha) \times \text{average}</math> Unfortunately, the transform creates this: <img class="math" src="http://latex.codecogs.com/gif.latex?\text{average} = \alpha \times \text{data} + (1-\alpha) \times&#10;&#9;&#9;&#9;&#9;&#9;\text{average}" /> Notice the whitespace character literals. Although it works, it's awfully messy. How can I prevent this?

    Read the article

  • Optimizing PHP code (trying to determine min/max/between case)

    - by Swizzh
    I know this code-bit does not conform very much to best coding practices, and was looking to improve it, any ideas? if ($query['date_min'] != _get_date_today()) $mode_min = true; if ($query['date_max'] != _get_date_today()) $mode_max = true; if ($mode_max && $mode_min) $mode = "between"; elseif ($mode_max && !$mode_min) $mode = "max"; elseif (!$mode_max && $mode_min) $mode = "min"; else return; if ($mode == "min" || $mode == "between") { $command_min = "A"; } if ($mode == "max" || $mode == "between") { $command_max = "B"; } if ($mode == "between") { $command = $command_min . " AND " . $command_max; } else { if ($mode == "min") $command = $command_min; if ($mode == "max") $command = $command_max; } echo $command;

    Read the article

  • Fast comparison of char arrays?

    - by StackedCrooked
    I'm currently working in a codebase where IPv4 addresses are represented as pointers to u_int8. The equality operator is implemented like this: bool Ipv4Address::operator==(const u_int8 * inAddress) const { return (*(u_int32*) this->myBytes == *(u_int32*) inAddress); } This is probably the fasted solution, but it causes the GCC compiler warning: ipv4address.cpp:65: warning: dereferencing type-punned pointer will break strict-aliasing rules How can I rewrite the comparison correctly without breaking strict-aliasing rules and without losing performance points? I have considered using either memcmp or this macro: #define IS_EQUAL(a, b) \ (a[0] == b[0] && a[1] == b[1] && a[2] == b[2] && a[3] == b[3]) I'm thinking that the macro is the fastest solution. What do you recommend?

    Read the article

  • How can I declare a pointer structure using {}?

    - by Y_Y
    This probably is one of the easiest question ever in C programming language... I have the following code: typedef struct node { int data; struct node * after; struct node * before; }node; struct node head = {10,&head,&head}; Is there a way I can make head to be *head [make it a pointer] and still have the availability to use '{ }' [{10,&head,&head}] to declare an instance of head and still leave it out in the global scope? For example: //not legal!!! struct node *head = {10,&head,&head};

    Read the article

  • C - memset segfault for statically allocated char array

    - by user1327031
    I get a segfault when trying to memset an array of chars that was allocated statically, but not for an array of the same length that was allocated using malloc. variable definitions: //static char inBuff[IN_BUFF_LEN]; //dynamic char * inBuffD; function call: //static, cast used because char** != char (*) [n] serverInit(portNum, (char**) &inBuff, &serv_addr, &sockfd) //dynamic serverInit(portNum, &inBuffD, &serv_addr, &sockfd) use within the function: memset(*inBuffAdr, 0, IN_BUFF_LEN); I suspect that my problem is in the difference of the function calls, or to be more precise, my incomplete understanding of the "char** != char (*) [n]" situation. But I have been banging at this for too long and can't see the forest from the trees so any hints and advice would be very appreciated.

    Read the article

  • sigwait in Linux (Fedora 13) vs OS X

    - by Silas
    So I'm trying to create a signal handler using pthreads which works on both OS X and Linux. The code below works on OS X but doesn't work on Fedora 13. The application is fairly simple. It spawns a pthread, registers SIGHUP and waits for a signal. After spawning the signal handler I block SIGHUP in the main thread so the signal should only be sent to the signal_handler thread. On OS X this works fine, if I compile, run and send SIGHUP to the process it prints "Got SIGHUP". On Linux it just kills the process (and prints Hangup). If I comment out the signal_handler pthread_create the application doesn't die. I know the application gets to the sigwait and blocks but instead of return the signal code it just kills the application. I ran the test using the following commands: g++ test.cc -lpthread -o test ./test & PID="$!" sleep 1 kill -1 "$PID" test.cc #include <pthread.h> #include <signal.h> #include <iostream> using namespace std; void *signal_handler(void *arg) { int sig; sigset_t set; sigemptyset(&set); sigaddset(&set, SIGHUP); while (true) { cout << "Wait for signal" << endl; sigwait(&set, &sig); if (sig == SIGHUP) { cout << "Got SIGHUP" << endl; } } } int main() { pthread_t handler; sigset_t set; // Create signal handler pthread_create(&handler, NULL, signal_handler, NULL); // Ignore SIGHUP in main thread sigfillset(&set); sigaddset(&set, SIGHUP); pthread_sigmask(SIG_BLOCK, &set, NULL); for (int i = 1; i < 5; i++) { cout << "Sleeping..." << endl; sleep(1); } pthread_join(handler, NULL); return 0; }

    Read the article

  • C pointer question, dereferencing crash

    - by skynorth
    Why do this work? int *var; while(scanf("%d", &var) && *var != 0) printf("%d \n", var); While this does not? int *var; while(scanf("%d", &var) && var != 0) printf("%d \n", var); Doesn't * (dereference operator) give you the value pointed by the pointer? So why does *var != 0 crash the program, while var != 0 does not?

    Read the article

  • Counting Values in R Vector

    - by GTyler
    I have a large vector of percentages (0-100) and I am trying to count how many of them are in specific 20% buckets (<20, 20-40, 40-60,60-80,80-100). The vector has length 129605 and there are no NA values. Here's my code: x<-c(0,0,0,0,0) for(i in 1: length(mail_return)) { if (mail_return[i]<=20) { x[1] = x[1] + 1 } if (mail_return[i]>20 && mail_return[i]<=40) { x[2] = x[2] + 1 } if (mail_return[i]>40 && mail_return[i]<=60) { x[3] = x[3] + 1 } if (mail_return[i]>60 && mail_return[i]<=80) { x[4] = x[4] + 1 } else { x[5] = x[5] + 1 } } But sum(x) is giving me length 133171. Shouldn't it be the length of the vector, 129605? What's wrong?

    Read the article

  • PHP form validation submit problem?

    - by TaG
    My code is suppose to save a year like 1999 to the mysql database but it wont. It will check to see if the user has entered only numbers and is at least 4 numbers long or if nothing has been entered correctly but it wont save the correct year? How can I fix this problem. Here is the PHP code. if(isset($_POST['year']) && intval($_POST['year']) && strlen($_POST['year']) == 4) { $year = mysqli_real_escape_string($mysqli, $purifier->purify(htmlentities(strip_tags($_POST['year'])))); } else if($_POST['year'] && strlen($_POST['year']) < 4) { echo '<p class="error">year is not correct!</p>'; } else if($_POST['year'] == NULL) { // do something }

    Read the article

  • javascript : key validation

    - by Geetha
    hi all, im using javascript to validate keys in textbox. it is not working :( function numeric(e) { return ((e.keyCode == 8) || (e.keyCode == 9) || (e.keyCode > 47 && e.keyCode < 58) || (e.keyCode > 36 && e.keyCode < 41) || (e.keyCode == 46) || (e.keyCode > 95 && e.keyCode < 106) || e.keyCode == 190 || e.keyCode == 110); } help me...

    Read the article

  • What is the most efficient method to find x contiguous values of y in an array?

    - by Alec
    Running my app through callgrind revealed that this line dwarfed everything else by a factor of about 10,000. I'm probably going to redesign around it, but it got me wondering; Is there a better way to do it? Here's what I'm doing at the moment: int i = 1; while ( ( (*(buffer++) == 0xffffffff && ++i) || (i = 1) ) && i < desiredLength + 1 && buffer < bufferEnd ); It's looking for the offset of the first chunk of desiredLength 0xffffffff values in a 32 bit unsigned int array. It's significantly faster than any implementations I could come up with involving an inner loop. But it's still too damn slow.

    Read the article

  • I want to be able to derive from a class internally, but disallow class in other assemblies to derive from the class

    - by Rokke
    Hej I have the following setup: Assembly 1 public abstract class XX<T> : XX where T: YY { } public abstract class XX {} Assembly 2 public class ZZ : YY {} public class ZZFriend : XX<ZZ> {} I use this feature in reflection when in YY: public class YY { public Type FindFriend { return GetType().Assembly.GetTypes().FirstOrDefault( t => t.BaseType != null && t.BaseType.IsGenericType && typeof(XX).IsAssignableFrom(t) && t.BaseType.GetGenericArguments().FirstOrDefault() == GetType()); } } I would like do disallow inheritance of the non generic class XX like: public class ZZFriend: XX {} Alternatively, I need a method like (that can be used in the reflection in YY.FindFrind()): public Type F(Type t) { return GetTypeThatIsGeneric(XX, Type genericTypeParameter); } That can be used in YY as: Typeof(XX<ZZ) == F(typeof(GetType()) Hope that makes sense... Thanks in advance Søren Rokkedal

    Read the article

  • Mixing C and C++, raw pointers and (boost) shared pointers

    - by oompahloompah
    I am working in C++ with some legacy C code. I have a data structure that (during initialisation), makes a copy of the structure pointed to a ptr passed to its initialisation pointer. Here is a simplification of what I am trying to do - hopefully, no important detail has been lost in the "simplification": /* C code */ typedef struct MyData { double * elems; unsigned int len; }; int NEW_mydata(MyData* data, unsigned int len) { // no error checking data->elems = (double *)calloc(len, sizeof(double)); return 0; } typedef struct Foo { MyData data data_; }; void InitFoo(Foo * foo, const MyData * the_data) { //alloc mem etc ... then assign the STRUCTURE foo.data_ = *thedata ; } C++ code ------------- typedef boost::shared_ptr<MyData> MyDataPtr; typedef std::map<std::string, MyDataPtr> Datamap; class FooWrapper { public: FooWrapper(const std::string& key) { MyDataPtr mdp = dmap[key]; InitFoo(&m_foo, const_cast<MyData*>((*mdp.get()))); } ~FooWrapper(); double get_element(unsigned int index ) const { return m_foo.elems[index]; } private: // non copyable, non-assignable FooWrapper(const FooWrapper&); FooWrapper& operator= (const FooWrapper&); Foo m_foo; }; int main(int argc, char *argv[]) { MyData data1, data2; Datamap dmap; NEW_mydata(&data1, 10); data1->elems[0] = static_cast<double>(22/7); NEW_mydata(&data2, 42); data2->elems[0] = static_cast<double>(13/21); boost::shared_ptr d1(&data1), d2(&data2); dmap["data1"] = d1; dmap["data2"] = d2; FooWrapper fw("data1"); //expect 22/7, get something else (random number?) double ret fw.get_element(0); } Essentially, what I want to know is this: Is there any reason why the data retrieved from the map is different from the one stored in the map?

    Read the article

  • <Control>.Focus() from server side doesn't scroll into view

    - by George
    Custom Validation Control: <asp:CustomValidator ID="valSex" runat="server" ErrorMessage="1.2 &lt;b&gt;Sex&lt;/b&gt; not specified" EnableClientScript="true" ClientValidationFunction="ValidateSex" SetFocusOnError="True">Selection required</asp:CustomValidator> Client Side validation routine: function ValidateSex(source, args) { var optMale = document.getElementById("<%=optMale.ClientID %>"); var optFemale = document.getElementById("<%=optFemale.ClientID %>"); if (!optMale.checked && !optFemale.checked) { args.IsValid = false; optMale.focus(); } else args.IsValid = true; } When the page is submitted and Sex is not specified, focus is set but the 2 radio buttons are not quite in view, vertical scrolling is required to bring them into view. Shouldn't the Focus() method have brought the focus control into view?

    Read the article

  • AWS ECS API - ItemLookup - Get item's (EAN) SalesRank by BrowseNode

    - by Lysender
    I'm using amazon japan, using ItemLookup. We already have the EAN numbers (used as ItemId). It was working well until we need to modify the SalesRank. The previous SalesRank returned is for the whole SearchIndex, ex: Books, Music, etc. What we want is to get the SalesRank for a specific BrowseNode. I don't know but it seems that it is not implemented on Amazon US. For example: http: // www . amazon . com / Slackware-Essentials-Cantrell-Johnson-Lumens/dp/1571763384/ref=sr_1_1?ie=UTF8&s=books&qid=1276142663&sr=1-1 The book above only shows the SalesRank (Bestsellers Rank) but on Japan Amazon: http://www.amazon.co.jp/Slackware-Linux-Dummies/dp/0764506897/ref=sr_1_4?ie=UTF8&s=english-books&qid=1276142708&sr=1-4 It shows SalesRank for other three different BrowseNodes. We need to get the SalesRank for a specific BrowseNode for a given ItemId or by any other means. Any ideas guys? TIA

    Read the article

  • question on HyperOperation

    - by davit-datuashvili
    i am trying to solve following recurence program http://en.wikipedia.org/wiki/Hyper_operator here is my code i know it has mistakes but i have done what i could public class hyper{ public static int Hyper(int a,int b,int n){ int t=0; if ( n==0) return b+1; if ((n==1) &&(b==0)) return a; if ((n==2) && (b==0)) return 0; if ((n>=3) && (b==0)) return 1; t=Hyper(a,b-1,n); return Hyper (a,t,n-1); } public static void main(String[]args){ int n=3; int a=5; int b=7; System.out.println(Hyper(a,b,n)); } } please help

    Read the article

  • Ajax request. Which callback is executed first complete or success?

    - by Gutzofter
    I could spike this to find out, but I'm going to use SO. In my unit tests (qunit) I use the asynchShould (alias for asynchTest) test. Part of the assertion is to wait for the completion/success of the request. Like this: asyncShould('talk to customer list server', 1, function() { stop(2000); var forCustomerList = newCustomerListRequest(); forCustomerList.page = 'helpers/helper.php'; forCustomerList.data += '&action=customerListServer&DB=11001'; var originalSuccess = forCustomerList.success; forCustomerList.success = function(msg) { if (msg.flash !== undefined && msg.data !== undefined && msg.status !== undefined) { ok(true, 'json structure correct') } else { ok(false, 'json structure not correct'); } originalSuccess(msg); start(); }; testController.getServerData(forCustomerList); })

    Read the article

  • argument promotions in C function calls

    - by HaoCheng
    I learned from ----As to when default promotions kick in: default argument promotions are used exactly when the expected type of the argument is unknown, which is to say when there's no prototype or when the argument is variadic. But an example confusing me is: void func(char a, char b) { printf("a=%p,b=%p\n",&a,&b); } int main(void) { char a=0x11,b=0x22; func(a,b); return 0; } It is cleard in the above example: when calling func in main, there is no need to promote the arguments a and b, but the output shows &a = &b +4 not &a = &b+1. If no promotion occured, why 4 bytes between two CHAR argument?

    Read the article

  • How to delete object with a mouse click ?

    - by Meko
    Hi all. I made a simple FlowChat Editor that creates rectangles and triangles and connects them to each other and shows the way from up to down. I can move this elements on screen too. I am now trying to create a button to delete the element which I clicked. There is problem that I can delete MyTriangle objects, but I can't delete MyRectangle objects. It deletes but not object which I clicked. I delete from first object to last. Here is my code: if (deleteObj) { if (rectsList.size() != 0) { for (int i = 0; i < rectsList.size(); i++) { MyRect rect = (MyRect) rectsList.get(i); if (e.getX() <= rect.c.x + 50 && e.getX() >= rect.c.x - 50 && e.getY() <= rect.c.y + 15 && e.getY() >= rect.c.y - 15) { rectsList.remove(rect); System.out.println("This is REctangle DELETED\n"); } } } if (triangleList.size() != 0) { for (int j = 0; j < triangleList.size(); j++) { MyTriangle trian = (MyTriangle) triangleList.get(j); if (e.getX() <= trian.c.x + 20 && e.getX() >= trian.c.x - 20 && e.getY() <= trian.c.y + 20 && e.getY() >= trian.c.y - 20) { triangleList.remove(trian); System.out.println("This is Triangle Deleted\n"); } } } Edit Here MyRectangle and MyTriangle classes public class MyRect extends Ellipse2D.Double { Point c; Point in; Point out; int posX; int posY; int width = 100; int height = 30; int count; public MyRect(Point center, Point input, Point output,int counter) { c = center; in = input; out = output; count=counter; } void drawMe(Graphics g) { // in.x=c.x+20; int posX = c.x; int posY = c.y; int posInX = in.x; int posInY = in.y; int posOutX = out.x; int posOutY = out.y; g.setColor(Color.MAGENTA); g.drawString(" S "+count ,posX-5, posY+5); g.setColor(Color.black); g.drawRect(posX-50, posY-15, width, height); g.setColor(Color.green); g.drawRect(posInX-3, posInY-9, 6, 6); g.setColor(Color.blue); g.drawRect(posOutX-3, posOutY+3, 6, 6); } } public class MyTriangle { Point c; Point in ; Point outYES ; Point outNO ; int posX; int posY; int count; public MyTriangle(Point center,Point input,Point outputYES,Point outputNO,int counter) { c = center; in = input; outYES = outputYES; outNO = outputNO; count=counter; } void drawMe(Graphics g) { int posX = c.x; int posY = c.y; int posInX=in.x; int posInY=in.y; int posOutYESX=outYES.x; int posOutYESY=outYES.y; int posOutNOX=outNO.x; int posOutNOY=outNO.y; int[] xPoints = {posX - 50, posX, posX + 50, posX}; int[] yPoints = {posY, posY - 30, posY, posY + 30}; g.setColor(Color.MAGENTA); g.drawString(" T "+count,posX-5, posY+5); g.setColor(Color.black); g.drawPolygon(xPoints, yPoints, 4); // draw input g.setColor(Color.green); g.drawRect(posInX-3,posInY-9, 6, 6); g.setColor(Color.blue); g.drawRect(posOutYESX-9,posOutYESY-3 , 6, 6); g.setColor(Color.red); g.drawRect(posOutNOX-3,posOutNOY+3 , 6, 6); } }

    Read the article

  • Using Mod_Rewrite in HTTPD.CONF file

    - by Mike Lovely
    I want to rewrite URLs so when a user goes to; http://www.example.com/applications/newWeb/www/index.php?page=48&thiscontent=2660&date=2013-10-11&pubType=0&PublishTime=09:30:00&from=home&tabOption=1 and if the URL contains thiscontent=2660 (which in this example above, it does) I want to redirect them to; http://www.example.come/index.php/publications/finance-and-economics/departmental-resources I have about 30 different thiscontent=XXXX types and imagine I’ll have to copy and edit this rule 30 different times for any links to my old website still knocking around out there. I have access to my httpd.conf file but have never done a mod_rewrite before. I also don't really need these showing up in the error logs as 301s. Will that happen? Because at the moment there are hundreds!

    Read the article

  • Concatenation yields error with underscore

    - by Daniel
    I am trying to create a macro that brings in the name of the sheet and combine it with text. For example, for sheet one, I want it to say "ThisIs_Sheet1_Test" in I5 of Sheet1. There are several sheets but it should work for all of them. What is wrong with my code? I think the underscore might be ruining it all. Here's what I have: Dim SheetName As String Public Sub CommandButton1_Click() SheetName = ActiveSheet.Name Sheets("Sheet1").Range("I5", "I5") = ThisIs_" & SheetName.text & "_Test Sheets("Sheet2").Range("H5", "H5") = ThisIs_" & SheetName.text & "_Test Sheets("Sheet3").Range("G5", "G5") = ThisIs_" & SheetName.text & "_Test End Sub

    Read the article

  • define macro in C wont work

    - by Spidfire
    Im trying to make a macro in C that can tell if a char is a hex number ( 0-9 a-z A-Z) #define _hex(x) (((x) >= "0" && (x) <= "9" )||( (x) >= "a" && (x) <= "z") || ((x) >= "A" && (x) <= "Z") ? "true" : "false") this what ive come up with but it wont work with a loop like this char a; for(a = "a" ; a < "z";a++){ printf("%s => %s",a, _hex(a)); } but it gives a error test.c:8: warning: assignment makes integer from pointer without a cast test.c:8: warning: comparison between pointer and integer test.c:9: warning: comparison between pointer and integer test.c:9: warning: comparison between pointer and integer test.c:9: warning: comparison between pointer and integer test.c:9: warning: comparison between pointer and integer test.c:9: warning: comparison between pointer and integer test.c:9: warning: comparison between pointer and integer

    Read the article

  • pagination panel should remain static

    - by fusion
    i've a search form in which a user enters the keyword and the results are displayed with pagination. everything works fine except for the fact that when the user clicks on the 'Next' button, the pagination panel disappears as well when the page loads to retrieve the data through ajax. how do i make the pagination panel static, while the data is being retrieved? search.html: <form name="myform" class="wrapper"> <input type="text" name="q" id="q" onkeyup="showPage();" class="txt_search"/> <input type="button" name="button" onclick="showPage();" class="button"/> <p> </p> <div id="txtHint"></div> </form> ajax: var url="search.php"; url += "?q="+str+"&page="+page+"&list="; url += "&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); function stateChanged(){ if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ document.getElementById("txtHint").innerHTML=xmlHttp.responseText; } //end if } //end function search.php: $self = $_SERVER['PHP_SELF']; $limit = 3; //Number of results per page $adjacents = 2; $numpages=ceil($totalrows/$limit); $query = $query." ORDER BY idQuotes LIMIT " . ($page-1)*$limit . ",$limit"; $result = mysql_query($query, $conn) or die('Error:' .mysql_error()); ?> <div class="search_caption">Search Results</div> <div class="search_div"> <table class="result"> <?php while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) { $cQuote = highlightWords(htmlspecialchars($row['cQuotes']), $search_result); ?> <tr> . . .display results. . . </tr> <?php } ?> </table> </div> <hr> <div class="searchmain"> <?php //Create and print the Navigation bar $nav=""; $next = $page+1; $prev = $page-1; if($page > 1) { $nav .= "<a onclick=\"showPage('','$prev'); return false;\" href=\"$self?page=" . $prev . "&q=" .urlencode($search_result) . "\">< Prev</a>"; $first = "<a onclick=\"showPage('','1'); return false;\" href=\"$self?page=1&q=" .urlencode($search_result) . "\"> << </a>" ; } else { $nav .= "&nbsp;"; $first = "&nbsp;"; } for($i = 1 ; $i <= $numpages ; $i++) { if($i == $page) { $nav .= "<span class=\"no_link\">$i</span>"; }else{ $nav .= "<a onclick=\"showPage('',$i); return false;\" href=\"$self?page=" . $i . "&q=" .urlencode($search_result) . "\">$i</a>"; } } if($page < $numpages) { $nav .= "<a onclick=\"showPage('','$next'); return false;\" href=\"$self?page=" . $next . "&q=" .urlencode($search_result) . "\">Next ></a>"; $last = "<a onclick=\"showPage('','$numpages'); return false;\" href=\"$self?page=$numpages&q=" .urlencode($search_result) . "\"> >> </a>"; } else { $nav .= "&nbsp;"; $last = "&nbsp;"; } echo $first . $nav . $last; ?> </div>

    Read the article

  • css of pagination links

    - by fusion
    i'd like a basic idea of how to go about formatting the following paging of the search result. this is the paging code: //Create and print the Navigation bar $nav=""; $next = $page+1; $prev = $page-1; if($page > 1) { $nav .= "<div class=\"search_mainpg\"><div class=\"searchpage\" style=\"width:5%;\"><a onclick=\"showPage('','$prev'); return false;\" href=\"$self?page=" . $prev . "&q=" .urlencode($search_result) . "\">< Prev</a></div>"; $first = "<div class=\"searchpage\" style=\"width:2%;\"><a onclick=\"showPage('','1'); return false;\" href=\"$self?page=1&q=" .urlencode($search_result) . "\"> << </a></div>" ; } else { $nav .= "&nbsp;"; $first = "&nbsp;"; } for($i = 1 ; $i <= $numpages ; $i++) { if($i == $page) { $nav .= "<b>$i</b>"; }else{ $nav .= "<div class=\"searchpage\" style=\"width:2%;\"><a onclick=\"showPage('',$i); return false;\" href=\"$self?page=" . $i . "&q=" .urlencode($search_result) . "\">$i</a></div>"; } } if($page < $numpages) { $nav .= "<div class=\"searchpage\" style=\"width:5%;\"><a onclick=\"showPage('','$next'); return false;\" href=\"$self?page=" . $next . "&q=" .urlencode($search_result) . "\">Next ></a></div>"; $last = "<div class=\"searchpage\" style=\"width:2%;\"><a onclick=\"showPage('','$numpages'); return false;\" href=\"$self?page=$numpages&q=" .urlencode($search_result) . "\"> >> </a></div></div>"; } else { $nav .= "&nbsp;"; $last = "&nbsp;"; } echo $first . $nav . $last; currently, it displays like this:

    Read the article

< Previous Page | 99 100 101 102 103 104 105 106 107 108 109 110  | Next Page >