php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 21-06-2005, 13:16
Silent
 Newbie
Links : Onlinestatus : Silent ist offline
Registriert seit: May 2001
Beiträge: 63
Silent ist zur Zeit noch ein unbeschriebenes Blatt
Standard [JavaScript] PHP Code per Javascript steuern

hallo!

Ich habe einen PHP Code der aus 2 teilen besteht!
nun möchte ich das teil 1 beim aufrufen der Datei gestartet wird und teil 2 erste wenn ich bei einer onClick action!

folgender Code

PHP-Code:
<form action="<? $PHP_SELF ?>" method="GET">

<?php
#####################TEIL1###########################################
include "_open_vers.php";
$res mysql_query("select * from pdaten"$link);
$count =  mysql_num_fields($res);

echo 
"<select size=\"1\" name=\"bed\">";
for (
$i=0$i<$count$i++) {
echo 
"<option value=\"".mysql_field_name($res$i) ."\">".mysql_field_name($res$i) . "</option>";
}
echo 
"</select>";
echo 
" <input type=\"submit\" value=\"Send\">";
#################TEIL2##############################################
$sql "SELECT * FROM `personendaten0000` DISTINC group by $_GET[bed]";
$result mysql_query($sql);

echo 
"<select size=\"1\" name=\"bed2\">";
while (
$row mysql_fetch_object($result))
 {
echo 
"<option value=\"".$row->$_GET[bed] ."\">".$row->$_GET[bed] . "</option>";
 }
echo 
" </select>";


echo 
"</form>";
 
?>

jetzt soll eben jedesmal wenn ich im ersten pulldown was anklicke teil 2 ausgeführt werden!

ich will keine fertig code sondern nur einen Lösungshinweis bzw. mit welcher funktion man das am besten lösen könnte!

ich hoffe ihr versteht mich und könnte mir weiterhelfen!


thx
Mit Zitat antworten
  #2 (permalink)  
Alt 21-06-2005, 13:31
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

du lädst die Seite neu bei onChange-Event des Select-Box oder bei Betätigen des send-Buttons, etwa so
PHP-Code:
if (!isset($_GET['bed'])) { // 1. Teil
   
...
   echo 
"<select .... onChange=\"this.form.submit();\" ...>";
   ...
} else { 
// 2. Teil
   
...

Mit Zitat antworten
  #3 (permalink)  
Alt 21-06-2005, 14:09
Silent
 Newbie
Links : Onlinestatus : Silent ist offline
Registriert seit: May 2001
Beiträge: 63
Silent ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hmh danke, das kommt schon fast hin!

Das Problem ist er soll mir nur den code ab teil 2 ausführen weil ich den teil 1 auch noch brauche!

daher beim ersten mal bis zu teil1 bei onChange
Teil1 (mit den vorher ausgewählten Werten)
+
Teil 2

komme ich da mit der selben logik hin oder muss ich was anderes verwenden?
Mit Zitat antworten
  #4 (permalink)  
Alt 21-06-2005, 14:15
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

seufz ...

dann nimm if ... else ... raus und prüfe nur mit if (isset...) beim 2. Teil
Mit Zitat antworten
  #5 (permalink)  
Alt 21-06-2005, 14:46
Silent
 Newbie
Links : Onlinestatus : Silent ist offline
Registriert seit: May 2001
Beiträge: 63
Silent ist zur Zeit noch ein unbeschriebenes Blatt
Standard

passt ich habe jetzt noch ein hidden feld eingefügt auf das er abfragt!
jetzt funktioniert!


thx
Mit Zitat antworten
  #6 (permalink)  
Alt 27-09-2006, 22:05
Godfrey
 Junior Member
Links : Onlinestatus : Godfrey ist offline
Registriert seit: Jan 2005
Beiträge: 126
Godfrey ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Anknüpfend an dieses Problem habe ich eine weitere Frage.

Ich habe auf einer Seite zwei Selectboxen wobei der Inhalte der zweiten Box von der Auswahl der ersten abhängig ist. Die Boxen werden mit den Funktionen:
1. Box
PHP-Code:
function kategorie_select($default$select_name "kategorie")
{
.....

        
$style_select '<select name="' $select_name '">';
        for(
$i 0$i count($this_kategoriedata); $i++)
        {
            
$selected = ( ( $i ) == $default ) ? ' selected="selected"' '';
            
$style_select .= '<option value="' . ( $i ) . '"' $selected '>' 
$this_kategoriedata[$i][0] . '</option>';
        }
        
$style_select .= "</select>";
    }

    return 
$style_select;

2. Box:
PHP-Code:
function subkat_select($default$kategorie$select_name "subkat")
{
...
        
$style_select '<select name="' $select_name '">';
        for(
$i 0$i count($this_kategoriedata); $i++)
        {
            if ( 
$this_kategoriedata[$i][0] == $kategorie )
            {
                
$selected = ( ( $i ) == $default ) ? ' selected="selected"' '';
                
$style_select .= '<option value="' . ( $i ) . '"' $selected '>' 
$this_kategoriedata[$i][1] . '</option>';
            }
        }
        
$style_select .= "</select>";
    }

    return 
$style_select;

Beim Start der Page werden die Defaultwerte genommen. Wird aber die Auswahl in der ersten Box geändert muss sich der Inhalt der zweiten Box dementsprechend "anpassen". Gibt es mit Javascript noch eine andere Möglichkeit den Inhalt der zweiten Box zu ändern ohne die Seite per Request neu zu laden? Ich möchte dazu natürlich auch die PHP-Funktion verwenden.
Mit Zitat antworten
  #7 (permalink)  
Alt 27-09-2006, 23:21
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

http://www.php-resource.de/forum/sho...threadid=32355
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #8 (permalink)  
Alt 28-09-2006, 00:04
Godfrey
 Junior Member
Links : Onlinestatus : Godfrey ist offline
Registriert seit: Jan 2005
Beiträge: 126
Godfrey ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke @wahsaga

das hatte ich auch gefunden und mir schon angeschaut. Aber das ist eigentlich genau das was ich nicht will, alles in JS-Variablen füllen. Die Befüllung der Boxen geschieht aus der DB und eben je nach Auswahl der ersten Box soll er die Daten für die zweite Box holen.

Scheint als würde ich das doch mit einem Reload der Seite machen müssen um die zweite Box richtig zu füllen. Ich wollte eigentlich nur einen Neuaufbau der Seite verhindern.
Mit Zitat antworten
  #9 (permalink)  
Alt 28-09-2006, 00:16
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Wenn du Daten vom Server holen willst, ohne die Seite neu zu laden - dafür gibt es das XMLHTTPRequest-Objekt, vulgo "AJAX".
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #10 (permalink)  
Alt 28-09-2006, 00:23
Godfrey
 Junior Member
Links : Onlinestatus : Godfrey ist offline
Registriert seit: Jan 2005
Beiträge: 126
Godfrey ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ah OK, Danke, dann muss ich mir da mal Informationen drüber holen. Damit hatte ich bisher noch nichts zu tun.
Mit Zitat antworten
  #11 (permalink)  
Alt 28-09-2006, 20:02
Godfrey
 Junior Member
Links : Onlinestatus : Godfrey ist offline
Registriert seit: Jan 2005
Beiträge: 126
Godfrey ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

hab mich mal schlau gemacht über AJAX und auch sehr viel gefunden was ich brauchen kann. Der Code ist auch schon fast fertig, leider hänge ich jetzt bei einer Kleinigkeit im JS. Den Code habe ich von einem Beispiel das sehr gut auch den Weg zeigte zwischen Client-Server-Client. Leider scheint da aber ein Fehler drin zu sein. Ob von mir oder aus dem Beispiel kann ich nicht sagen, da ich den Javacode nur an einer Stelle ergänzt habe um einen Wert gleich zu selektieren. Ich habs aber schon vorher ohne meine Änderung getestet und da gings auch nicht.

Der Code im JS:
PHP-Code:
var options "";
var 
first;

function 
loadOptions(urlid) {
    if (
window.XMLHttpRequest) {
        var 
xmlHttp = new XMLHttpRequest();
    }
    else if (
window.ActiveXObject) {
        var 
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    
xmlHttp.open("GET"urltrue);

    
xmlHttp.onreadystatechange = function () {
        if (
xmlHttp.readyState == 4) {
            if (
xmlHttp.status == 200) {
                
first true;
                
_xmlFileLoaded(xmlHttp.responseXMLid);
            }
            else {
                
alert ("Fehler bei der Kommunikation mit dem Server:\n" xmlHttp.statusText);
            }
        }
    };
    
window.setTimeout(function () {xmlHttp.send(null);}, 10);
}

function 
_addOption(xmlNode) {
    var 
value xmlNode.getAttribute("value");
    var 
title xmlNode.getAttribute("title");

    if ( 
first ) {
        
first false;
        
options += "<option value=\"" value "\" selected=\"selected\">" title "</option>\n"
    
}
    else {
        
options += "<option value=\"" value "\">" title "</option>\n"
    
}
}

function 
_xmlFileLoaded(xmlDocid) {
    
options "";
    var 
childrenExit false;

    if( 
xmlDoc != null && xmlDoc.documentElement != null) {
        var 
root xmlDoc.documentElement;
        var 
cs root.childNodes;
        var 
cs.length;
        for (var 
0li++) {
            if (
cs[i].tagName == "option") {
                
childrenExit true;
                
_addOption(cs[i]);
            }
        }

        if (!
childrenExit) {
            
alert ("no elements found");
        }
        else {
            
document.getElementById(id).innerHTML options;
alert ("OPTIONS: " options "id: " id);
        }
    }

Ich bekomme die Daten richtig vom Server, die "option" wird auch richtig befüllt, ebenso stimmt die ID für den Select (Lasse ich mir mit alert anzeigen). Leider bekomme ich es irgendwie nicht hin, dass die option auch in den Select eingefügt werden. Der Code gibt mir nur den Select ohne die Option aus.
Mit Zitat antworten
  #12 (permalink)  
Alt 29-09-2006, 23:19
Godfrey
 Junior Member
Links : Onlinestatus : Godfrey ist offline
Registriert seit: Jan 2005
Beiträge: 126
Godfrey ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hat den wirklich niemand eine Idee was an meinem Script falsch sein könnte? Ich habe schon mehreres versucht, leider führt nichts zum Ergebniss. Beim ersten Aufruf der Seite werden die beiden Boxen mit Startwerten belegt. Diese werden nach dem Ändern von Box eins in Box zwei auch gelöscht.
Mit Zitat antworten
  #13 (permalink)  
Alt 04-10-2006, 22:32
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

http://de.selfhtml.org/javascript/ob...#neue_elemente
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #14 (permalink)  
Alt 04-10-2006, 23:00
Godfrey
 Junior Member
Links : Onlinestatus : Godfrey ist offline
Registriert seit: Jan 2005
Beiträge: 126
Godfrey ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke wahsaga, habe jetzt eine funktionierende Lösung, hab mich dabei auch noch durch mehrere Foren, Seiten etc. gekämpft. Ich füge die Lösung an falls es jemand brauchen kann.

PHP-Code:
function loadOptions(urlid) {
    if (
window.XMLHttpRequest) {
        var 
xmlHttp = new XMLHttpRequest();
    }
    else if (
window.ActiveXObject) {
        var 
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    
xmlHttp.open("GET"urltrue);

    
xmlHttp.onreadystatechange = function () {
        if (
xmlHttp.readyState == 4) {
            if (
xmlHttp.status == 200) {
                
_clearTopicList(id);
                
_xmlFileLoaded(xmlHttp.responseXMLid);
            }
            else {
                
alert ("Fehler bei der Kommunikation mit dem Server:\n" xmlHttp.statusText);
            }
        }
    };
    
window.setTimeout(function () {xmlHttp.send(null);}, 10);
}

function 
_clearTopicList(id) {
    var 
select document.getElementById(id);
    while (
select.length 0) {
        
select.remove(0);
    }
}

function 
_addOption(selectvaluecontent) {
    var 
opt;
    var 
myText document.createTextNode(content);
    
opt document.createElement("option");
    
opt.value value;
    
opt.appendChild(myText);
    
select.appendChild(opt);
}

function 
_xmlFileLoaded(xmlDocid) {
    var 
childrenExit false;
    var 
select document.getElementById(id);

    if( 
xmlDoc != null && xmlDoc.documentElement != null) {
        var 
items xmlDoc.documentElement;
        var 
cs items.childNodes;
        var 
cs.length;

        for (var 
0li++) {
            
childrenExit true;
            
_addOption(selectcs[i].getAttribute("value"), cs[i].getAttribute("title"));
        }

        if (!
childrenExit) {
            
_addOption(select1"-- keine Daten vorhanden --");
//            alert ("Keine Elemente gefunden");
        
}
    }
    else {
        
alert ("Keine Daten erhalten.");
    }

Die Funktion verarbeitet eine XML-Datei die zwei Werte übergibt. Aufgerufen wird die Funktion loadOptions der die URL der php-Datei übergeben wird aus der die Werte geladen werden, id ist die id der Selectbox. Bei mir macht das eine Klasse, wenn diese jemand haben möchte kann ich die gerne auch abgeben.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:47 Uhr.