MySQLクエリで値が変化する変数を使用していますか?

私が取り組んでいるサイトのタグ付けシステムを構築しています。私はユーザーが別の画像を選択すると変化する画像のURLの変数を持っています。選択したピクチャの3つのタグを表示するのにMySQLコマンドを使用していますが、その変数を変更すると動作しません。ただし、手動で画像のURLを挿入すると、キャプションが表示されます。しかし、これらの写真はあなたがどんな写真を撮っていても表示されないので、本当に助けにはなりません。私は変数の下にURLを格納する場合、それも動作しますが、常に変化するものではありません。

Here‘s the site.

これは理解しにくいことが分かっていますので、何かを再説明しようとしたい場合や、コードの一部を含めたい場合はお知らせください。ありがとう!

編集:さて、ここで再試行します。まず、コードは次のとおりです。

<?php 
   $username = $_GET['username']; 
   session_start(); 
   $_SESSION['username'] = $username; 

   //Database Information 
   $dbhost = ""; 
   $dbname = ""; 
   $dbuser = ""; 
   $dbpass = ""; 

   //Connect to database 
   mysql_connect ( $dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error()); 
   mysql_select_db($dbname) or die(mysql_error()); 

   //Do the query 
   $query = mysql_query("SELECT * FROM images ORDER BY idnum DESC LIMIT 5"); 

  //Generate an array of all images.

   $images = array(); 
   while($image = mysql_fetch_array($query)) { 

  //Adds each image to the images array. 

   $images[] = $image; 
} 

$image['filename'] = $current_image;

    $query_captions = mysql_query("SELECT * from captions WHERE image = '$current_image' ORDER BY idnum DESC LIMIT 3");
    $captions = array(); 
    while($caption = mysql_fetch_array($query_captions)) { 
    $captions[] = $caption; 
    }

?> 

<?php 

  //Beginning attempt at a caption script. 



?> 

<html> 
  <head> 
  <title>Home - Site in Development</title> 
  <link rel="stylesheet" type="text/css" href="styles.css"/> 
  <script type="text/javascript"> 

  //Switches the url to view large image. 

   function switchImageUrl(url, width, height) { 
     var x = document.getElementById('caption_selection'); 
     var y = document.getElementById('caption_input');
     var z = document.getElementById('input_value');
        x.style.display = 'none';  
        y.style.display = 'none';
        z.value = '';

   document.getElementById('center_frame').style.backgroundImage = 'url' + '(' + url + ')'; 
     document.getElementById('center_frame').style.width = width; 
     document.getElementById('center_frame').style.height = height; 
   } 

  </script> 


      <!--Toggles view of caption selection tools and resets after.-->

    <script type="text/javascript"> 

   function selectionToggle() { 
    var x = document.getElementById('caption_selection'); 
    var y = document.getElementById('caption_input');
    var z = document.getElementById('input_value');
    if(x.style.display == 'block') 
      x.style.display = 'none'; 
    else 
      x.style.display = 'block'; 
         x.style.width = '75px'; 
         x.style.height = '75px'; 
         x.style.top = '0px'; 
         x.style.left = '0px'; 

    if(y.style.display == 'block') 
      y.style.display = 'none'; 
    else 
      y.style.display = 'block'; 
  z.value = '';
   } 


    </script> 

    <script type="text/javascript">

     function collectAttributes() {
      var cap = document.getElementById('caption_selection');
      var cw = document.getElementById('cap_width');
      var ch = document.getElementById('cap_height');
      var cl = document.getElementById('cap_left');
      var ct = document.getElementById('cap_top');
      cw.value = cap.style.width;
      ch.value = cap.style.height;
      cl.value = cap.style.left;
      ct.value = cap.style.top;
    }

    </script>


    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 
     <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 
     <script> 
     $(document).ready(function() { 
        $("#caption_selection").draggable({ 
        containment : "#center_frame" 
        }); 
        $("#caption_selection").resizable({ 
        containment : "#center_frame" 
        }); 
     }); 
     </script> 

  </head> 
  <body onLoad="CalculateAllImageWidthes()"> 
  <div id='account_links'> 
   <?php 
   if ($_SESSION['username']) { 
   echo "Welcome $username!"; 
   } else { ?> 
   Login | Register 
   <?php } ?> 
  </div> 

  

Picture Captions

 
  

<div id="left_bar"> Submit a picture here.

 
  

Top Images

 
  
<div id="front_pg_images"> <?php foreach($images as $image) { ?> <?php echo $image['name']." - by ".$image['submitter']; ?>

<?php } ?> </div> </div> <div id="center_frame" style="width: <?php echo $image['width']; echo "px" ?>; height: <?php echo $image['height']; echo "px" ?>; background-image: url('<?php echo $image['filename'];?>')" > <?php foreach($captions as $caption) { ?> <div id="set_caption" style="width:<?php echo $caption['width'].'px';?>;height:<?php echo $caption['height'].'px';?>; left:<?php echo $caption['posleft'].'px';?>; top:<?php echo $caption['postop'].'px';?>"><?php echo $caption['text'];?></div> <?php } ?> <div id="caption_selection" style="display:none"> </div> </div> <div id="toggle_select_container"> <input type="button" id="toggle_select" onClick="selectionToggle()" value="Caption"/> <div id="caption_input" style="display:none"> <form action="postcaption.php" method="post" onSubmit="collectAttributes()">

<input type="hidden" name="filename" value="<?php echo $image['filename'];?>"/> <input type="hidden" name="width" value="" id="cap_width"/> <input type="hidden" name="height" value="" id="cap_height"/> <input type="hidden" name="left" value="" id="cap_left"/> <input type="hidden" name="top" value="" id="cap_top"/> <input type="submit" value="Post Caption"/> </form> </div> </div> </body> </html>

ユーザーがサムネイルをクリックしたときにJavaScript関数を使用してイメージを変更します。
foreach を注意してください。ページ上の他の場所でも、同様の目的で $ image
['filename']
が完璧に機能していますが、これを使ってみるとうまくいきません。

ベストアンサー
申し訳ありませんが、適切な答えはありません

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です