Re: Can you do this with PHP?
- From: sheldonlg <sheldonlg>
- Date: Wed, 21 May 2008 16:43:45 -0400
art@xxxxxxxx wrote:
On May 21, 1:43 pm, sheldonlg <sheldonlg> wrote:a...@xxxxxxxx wrote:On May 21, 11:30 am, sheldonlg <sheldonlg> wrote:You lost me at "hello". (to paraphrase and twist Jerry McGuire). I'lla...@xxxxxxxx wrote:Hi,Yes. Put a <div id="blah"> surrounding that block. Mow make the target
We have some scripts here where we use some AJAX to populate some of
the page.
Basically the AJAX routine calls a PHP script. That PHP script uses a
bunch of ECHO statements to create the page. Then, we use the
innerHTML to populate the section on the page.
The problem is, we have a small javascript routine in the middile of
the page which MUST be located there. It cannot be in the head.
If this is straight HTML, it works fine. But, if we use the PHP to
echo everything and then set the innerHTML, it does not work.
Is there any way to perform this? Basically use PHP to output a small
inline <SCRIPT> routine, and have it execute?
Thank you!
of the Javascript innerHTML be for that div, "blah". You can position
the "blah" wherever you want.
Now, when you say in the middle of the page, do you mean that it is some
fixed position relative to what is above? Or, do you mean that it is in
the middle of the screen regardless of how you scroll the stuff behind.
The latter is handles (except IE6) with position: fixed. There are
workarounds for IE6 having to do with overflow. If you mean the latter,
that is handled with position: relative and position: fixed.
By the way, I would use print rather than echo and use an ob_start to
gather it all before closing in and writing it.
try, though.
Thanks for the reply. My explanation may be a bit convoluted, so,OK so far. (assuming you also close tags properly)
I'll try my best to explain it.
We are trying to use AJAX and XML to populate the page. Our PHP
script selects data from the database, returns the data to the calling
Javascript routine and sets innerHTML by concatenating a long string
like this:
str = '<table>';
str = str + '<TR>';
str = str + '<TD>';
str = str + '<INPUT TYPE=text NAME=CustName ID=CustName SIZE=25
MAXLENGTH=25 VALUE="' + getElementTextNS("", "Name", r[i], 0)
So, we create each <DIV> like that and then set innerHTML. ProbablyWhy not?
not the best way, but it works fine. There is also a javascript
calendar on the page. We populate the text box associated with theFine.
calendar with data from the AJAX routine using the following line
though it is a bit more involved:
document.Detail_Screen.EnterDate.value=getElementTextNS("",
"entered_date", r[i], 0);
The javascript is in a <DIV> which is in the normal HTML document and
works fine. No problems.
The real issue is that our page has 3 combo boxes on it. We need toWatcha mean by "combo box". I have seen controls for dropdown lists
populate the combo boxes with values and the selected value should
match what the value is in the database record that is being
displayed. We do not want to hard code all the combo box values.
with multiple lines and I have seen text entries, but I have not seen a
combo box control that combines the two. (It would be nice, though, as
it enables the user to enter a value not on the list).
So, how do we select all the values from the database that belong inBy a mysql query? There has to be something constraining in the where
the combo box and return them using AJAX? One of the boxes has 40
options in it. We do not want to hard code 40 items.
clause. You haven't said what. Once you do the proper query, you can
build the select list string and use that for the innerHTML.
Because we did not know how to do that, we made our second attempt,Oh, I see. You didn't want to put all those values in raw HTML. OK.
which was to let the PHP script create the page via echo statements.
The problem there is that the inline javascript routine is notWhy is it not executing. I have an AJAX application that builds an area
executing. And, since we need to put the date value in the text box,
via AJAX with innerHTML and it calls javascripts when clicked. The only
prerequisite is that the javascript be in place at load time. I
accomplish this by loading the library when I call that page.
how can we access that value? The text box is on the HTML side, andWhat is the problem here? In the javascript that invokes the AJAX you have
the PHP is on the server side.
var dateVal = getElementByID('id of the date text box').value;
You can create an object with
var obj = new Object();
and have obj.dateVal = dateVal;
You then pass that with the call to your AJAX and decipher it at the php
side.
So in summary, we would like to use AJAX & XML. But, we do not knowI don't understand this.
how to populate the combo boxes with values and be able to choose the
selected value without returning 40 fields from the database. That is
not a good plan.
If we use the PHP method, then how do we access the date value so weThe page is NEVER **drawn** on the php (server) side. It is ALWAYS
can put it into the calendar text box? The page would be drawn on the
PHP side. Since the calendar is on the HTML side, we cannot access it
**drawn** on the HTML (client) side. You can compose a string on the
php side, but it is not drawn there.
from the server....You access it on the client, add the parameter into an object's field
and pass that to the server where it is deciphered. Clients side does
client things and server side does server things. They communicate, in
this case, with the AJAX calls and objects that are passed.
Does it all make sense? Do you see our problem? If not let me knowI think I understand you now. You, apparantly, don't know how to pass
and I can try to explain more.
parameters from the client to server via AJAX. Learn that and your
problems should be 99% solved.
Thank you!You're welcome. (Been in your shoes many times myself.) Hope this
helped you.
I'll try and implement some of your suggestions.
Combo box - yes, I meant drop down list.
I guess I'll need another AJAX function to get the values for the drop
down list. I'll what I can do. Normally I'm an Oracle DBA, so, this
is a bit out of context for me......
No, it is just another dba call. Then in php you build the option list with
$resultOfQuery = mysql_query($query_string);
while ($row=mysql_fetch_assoc($resultOfQuery)) {
$str .= '<option value="' . $row['fieldname'] . '">'
. $row['fieldname'] . '</option>';
}
You could also build the select statement around it. This, then, gets targeted at the appropriate id. If the select has the id, then just build the options. If it is in something else, then build the whole thing.
.
- References:
- Can you do this with PHP?
- From: art@xxxxxxxx
- Re: Can you do this with PHP?
- From: sheldonlg
- Re: Can you do this with PHP?
- From: art@xxxxxxxx
- Re: Can you do this with PHP?
- From: sheldonlg
- Re: Can you do this with PHP?
- From: art@xxxxxxxx
- Can you do this with PHP?
- Prev by Date: Re: Can you do this with PHP?
- Next by Date: Re: Limits of PHP, SMTP Mailing
- Previous by thread: Re: Can you do this with PHP?
- Next by thread: Re: Can you do this with PHP?
- Index(es):
Relevant Pages
|