Nasıl [a $ _POST bir değişkeni kullanırım]

2 Cevap php

Ben dinamik olarak oluşturulan alanlarda bir demet aracılığıyla yinelemek gerekiyor, ama bu işe yaramazsa:

$population_density = $_POST['$current_location_id'];

Ben tek bir sayfada nüfuslarının ile yerlerin bir listesi var; Ben de bir zamanlar onlardan bir sürü güncelleme böylece bunu yapmak gerekir. Yani alan adları dinamik location_id karşılık yaptı. Sonrası teslim edildiğinde ben şöyle içlerinden yinelemek gerekiyor, ama sen bir yazı bir değişken koyamazsınız görünüyor.

for ( $y_count = 1 ; $y_count <= $zone_height; $y_count++ ) {
    for ( $x_count = 1 ; $x_count <= $zone_width; $x_count++ ) {
        $result = mysql_query("SELECT * FROM locations WHERE location_zone='$zone_id' AND x_location='$x_count' AND y_location='$y_count' ");
        $current_location = mysql_fetch_array( $result );
        $current_location_id = $current_location['ID'];
        $population_density = $_POST['$current_location_id'];
        $result = mysql_query("UPDATE locations SET population_density='$population_density' WHERE ID='$current_location_id' ");
    }
}

Bir $ _POST [] içinde bir değişken koymak mümkün mü? Eğer değilse, nasıl dinamik olarak oluşturulan güncelleme alanları hakkında gitmeli?

2 Cevap

Tek tırnak işaretleri olmadan kullanın:

$_POST[$current_location_id]

Şimdi değeri $current_location_id tuşunun yerine dize olarak kullanılır $current_location_id. Ayrıca $current_location['ID'], doğrudan kullanabilirsiniz:

$_POST[$current_location['ID']]

Hatta sorgusunda:

for ( $y_count = 1 ; $y_count <= $zone_height; $y_count++ ) {
    for ( $x_count = 1 ; $x_count <= $zone_width; $x_count++ ) {
        $result = mysql_query("SELECT * FROM locations WHERE location_zone='$zone_id' AND x_location='$x_count' AND y_location='$y_count' ");
        $current_location = mysql_fetch_array( $result );
        $result = mysql_query("UPDATE locations SET population_density='".$_POST[$current_location['ID']]."' WHERE ID='".$current_location['ID']."' ");
    }
}

Tek tırnak bir dize değişken enterpolasyon inhibe; çift ​​tırnak kullanmak veya onları tamamen ihmal ya.