PHP bir alanın değerini almak nasıl?

4 Cevap php

Ben bir alanın değerini almak gerekir; Ben bu doğru kod oldukça emin sağ çizgisinde değilim ama düşünüyorum. "Sil Movie" Ben öyle gibi bu satırın değerini almak için çalışıyorum nerede düğmesi:

değer = "'. $ row [' id '].'"

Size yardım edebilir miyim?

<?php
//connect to database
mysql_connect($mysql_hostname,$mysql_user,$mysql_password);
@mysql_select_db($mysql_database) or die("<b>Unable to connect to specified database</b>");
//query databae
$query = "select * from movielist";
$result=mysql_query($query) or die('Error, insert query failed');
$row=0;
$numrows=mysql_num_rows($result);
echo "<table border=1>";
echo "<tr>
    <td>ID</td>
    <td>Type</td>
    <td>Title</td>
     <td>Description</td>
    <td>Imdb URL</td>
    <td>Year</td>
    <td>Genre</td>
    <td>Actions</td>
  </tr>";
while($row<$numrows)
{
$id=mysql_result($result,$row,"id");
$type=mysql_result($result,$row,"type");
$title=mysql_result($result,$row,"title");
$description=mysql_result($result,$row,"description");
$imdburl=mysql_result($result,$row,"imdburl");
$year=mysql_result($result,$row,"year");
$genre=mysql_result($result,$row,"genre"); ?>

  <tr>
    <td><?php echo $id; ?></td>
     <td><?php echo $type; ?></td>
    <td><?php echo $title; ?></td>
    <td><?php echo $description; ?></td>
    <td><?php echo $imdburl; ?></td>
    <td><?php echo $year; ?></td>
    <td><?php echo $genre; ?></td>
    <td>


<!-- Delete Movie Button -->
<form style="display: inline;" action="delete/" method="post" onsubmit="return movie_delete()">

<input type="hidden" name="moviedeleteid" değer = "'. $ row [' id '].'">

<button type="submit" class="tooltip table-button ui-state-default ui-corner-all" title="Delete trunk"><span class="ui-icon ui-icon-trash"></span></button>
</form> 


    </td>
    </tr>
<?php

$row++;
}
echo "</table>";
?>

4 Cevap

Sen gibi kullanıyor

<input type="hidden" name="moviedeleteid" value="'.$row['id'].'">

ama burada soru şu: nasıl PHP yerine saf HTML bir değişkene atıfta olduğunu bilebilir? PHP açık (ayrıca HTML içerebilir aslında pure PHP kod herhangi bir .php dosya olarak var olmayan) HTML içinde PHP kodu çalıştırmak istiyorum emin olmak için çok kullanışlı bir araç sağlamak : <?php ve ?> etiketler.

Sana zaten bunları doğru kullandık çünkü bahsettiğimi biliyorum eminim. Bu nedenle, sadece yukarıdaki satırı değiştirin:

<input type="hidden" name="moviedeleteid" value="<?php echo $row['id']; ?>">
//                                               ^^^^^ ^^^^           ^ ^^

Ne kullanılarak tam olarak böyle çalışır string concatenation which was (. dizeleri bitiştirmek için) ama sizin durumunuzda bir HTML bağlamda konulmuştur.

Zaten $ id ayıkladıktan, sadece doğrudan kullanabilirsiniz.

<input type="hidden" name="moviedeleteid" value="<?php echo $id>">

Önce etiketi ile PHP kodu yeni bir parçasının başlangıcını belirtmeden HTML etiketleri arasında PHP kodu kullanamazsınız.

$ Satır sadece bir tamsayı olduğunu, ancak bir dizi gibi kullanmak için çalışıyoruz. Sen $ satır bir satır içerik atamak, ama sadece geçerli bir satır sayısı değil etmedi.

Alternatif olarak

while ($row = mysql_fetch_assoc($result)
{
  echo $row['id'];
}

Bir satır içi yankı etiketi kullanarak deneyin:

<?=$id;?>

Bu kestirme stil varsayılan olarak kapalıdır, bu yüzden işe yaramazsa, bunun yerine kullanıyoruz:

<?php echo $id; ?>

Uhm ... Ben biraz değiştirmek istiyorum ...

<?php
//connect to database
mysql_connect($mysql_hostname,$mysql_user,$mysql_password);
@mysql_select_db($mysql_database) or die("<b>Unable to connect to specified database</b>");
//query databae
$query = "select * from movielist";
$result = mysql_query($query) or die('Error, insert query failed');
$row=0; // ???
$numrows=mysql_num_rows($result);
echo "<table border=1>";
echo "<tr>
    <td>ID</td>
    <td>Type</td>
    <td>Title</td>
    <td>Description</td>
    <td>Imdb URL</td>
    <td>Year</td>
    <td>Genre</td>
    <td>Actions</td>
  </tr>";
while($row = mysql_fetch_assoc($result))
{
    $id = $row["id"];
    //... and so on ?>

  <tr>
    <td><?= $id; ?></td>
     <!-- and so on -->
    <td>


<!-- Delete Movie Button -->
<form style="display: inline;" action="delete/" method="post" onsubmit="return movie_delete()">

<input type="hidden" name="moviedeleteid" value="<?= $id ?>">

<button type="submit" class="tooltip table-button ui-state-default ui-corner-all" title="Delete trunk"><span class="ui-icon ui-icon-trash"></span></button>
</form> 


    </td>
    </tr>
<?php

$row++;
}
echo "</table>";
?>

Ben değiştim:

  1. Eğer while() satırları arasında yineleme yolu
  2. ilişkilendirilebilir diziler kullanarak alan değerlerini almak yolu
  3. Eğer PHP değer etiketini kullanarak işlenen HTML id eklemek yolu