• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] übergabe problem

jhaustein

New member
hallo gemeinschaft

wir haben zwei dropboxen in einer form

das problem ist das zweite dropdown feld
beim ersten seitenaufruf sind in beiden dropdowns werte enthalten - d.h. ich kann als benutzer eine reederei auswählen - oder wenn ich das schiff kenne auch im zweiten dropdown das schiff

wenn ich nun aber das erste dropdown benutzt habe, dann werden im zweiten nur noch die schiffe angezeigt, die zur reederei gehören - mein prob ist nun - ich komme nicht wieder zurück - soll heissen, wenn der user nun noch ein schiff aussuchen möchte, welches er kennt bekommt er die gesamte liste aller schiffe nicht mehr angezeigt

index.php
PHP:
<?php
include_once 'dbconfig.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Dynamic Dependent Select Box using jQuery and PHP</title>
<script type="text/javascript" src="jquery-1.4.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
	$(".reederei").change(function()
	{
		var id=$(this).val();
		var dataString = 'id='+ id;

		$.ajax
		({
			type: "POST",
			url: "get_ship.php",
			data: dataString,
			cache: false,
			success: function(html)
			{
				$(".ship").html(html);
			} 
		});
	});
	
	
	
});
</script>
<style>
label
{
font-weight:bold;
padding:10px;
}
div
{
	margin-top:100px;
}
select
{
	width:200px;
	height:35px;
}
</style>
</head>

<body>
<center>
<div>
<label>Reederei :</label> 
<select name="reederei" class="reederei" id="reederei">
<option selected="selected" value="0">--Reederei auswählen--</option>
<?php


	$stmt = $DB_con->prepare("SELECT   * FROM reederei group by ReedereiName");
	$stmt->execute();
	while($row=$stmt->fetch(PDO::FETCH_ASSOC))
	{
		?>
        <option value="<?php echo $row['ReedereiID']; ?>"><?php echo $row['ReedereiName']; ?></option>
        <?php
	} 
?>
</select>

<label>Schiff :</label> <select name="ship" class="ship" id="ship">
<option selected="selected">--Schiff auswählen--</option>
<?php
$stmt = $DB_con->prepare("SELECT * FROM schiffe");
	$stmt->execute();
	?><?php
	while($row=$stmt->fetch(PDO::FETCH_ASSOC))
	{
		?>
        <option value="<?php echo $row['ship_id']; ?>"><?php echo $row['name']; ?></option>
        <?php
	}?>
</select>


</div>
<br />

</center>
</body>
</html>

get_ship.php
PHP:
<?php
include('dbconfig.php');
if($_POST['id'])
{
    
    
    $id=$_POST['id'];
    
    if($id == "0"){    
    $db=mysql_connect("127.0.0.1", "root",""); //nur ein testzugang
mysql_select_db("kreuzfahrt");     
$sql = "SELECT * FROM schiffe";
$result = mysql_query($sql) OR die(mysql_error());
echo "<select name='selectfield'>";
while($row = mysql_fetch_assoc($result))
  echo "<option name='".$row['name']."'>".$row['name']."</option>";
echo "</select>";
}
else
{    
    $stmt = $DB_con->prepare("SELECT * FROM schiffe WHERE reederei_id=:id group by name");
    $stmt->execute(array(':id' => $id));
    ?><option selected="selected">Schiff auswählen :</option><?php
    while($row=$stmt->fetch(PDO::FETCH_ASSOC))
    {
        ?>
        <option value="<?php echo $row['ship_id']; ?>"><?php echo $row['name']; ?></option>
        <?php
    }
}
}

das ist das js
PHP:
<script type="text/javascript">
$(document).ready(function()
{
    $(".reederei").change(function()
    {
        var id=$(this).val();
        var dataString = 'id='+ id;

        $.ajax
        ({
            type: "POST",
            url: "get_ship.php",
            data: dataString,
            cache: false,
            success: function(html)
            {
                $(".ship").html(html);
            }
        });
    });
    
    
    
});
</script>

wenn ich mir das in der konsole anschaue, dann wird auch id=0 übergeben - aber es passiert kein füllen der dropbox
 
Zuletzt bearbeitet:
Zurück
Oben