我用for语句<? for($i=1;$i<=33;$i++)跑出33个
 <input name="<? = title.$i ?>" type="text">
 <input name="<? = pic.$i ?>" type="text">
 <input name="<? = url.$i ?>" type="text">
这样的表单
把表单框里的值
提交到接收页面接收页面:
我这样写的。。但只能在php4下可行 。但在php5里行不通。。我想把提交的上来的值分别写进数据库里的title pic url 字段里。。
不想一个一的接 再一个一个的写进数据库
我想弄个for语句 这样批量写进数据库。。表单空的就让它空值也可以。。<?   
require("config.php"); 
$conn=mysql_connect($host,$namesql,$passsql); 
mysql_select_db($lib,$conn); 
//mysql_query("Set Names 'gb2312' "); 
for($i=1;$i <=42;$i++){ 
$title=$_POST[title.$i]; 
$pic=$_POST[pic.$i]; 
$url=$_POST[url.$i]; 
//if($i==42) 
// { 
$ins="update $table_vip set TITLE='$title',PIC='$pic',URL='$url' where ID=$i"; 
//die($ins); 
//} mysql_query($ins,$conn); 

mysql_close($conn); 

解决方案 »

  1.   

    你看下 $_POST 过来是什么值  还有 php5 配置是否开了<?= ?>短标签支持
      

  2.   

    $_POST   过来的值是我在表单框输入的值
    短标签开的。。
      

  3.   

     <input   name=" <?   =   title.$i   ?> "   type="text">  PHP5默认配置不支持这样的输出,一定用echo,还有PHP开始的时候要用<?php 标记
      

  4.   

    不是这问题吧。。
    我多改成了<input       name="   <?php echo 'title'.$i ;?>" type="text">还是不行。。
    能接到值
    但不知道怎么遍里数组。。分析数组。谁给个范例 帮帮忙。。     
      

  5.   

    <input               name="       <?php   echo   'title'   ;?>[] "   type="text"> 
    这样接的是一个数组
    遍历下就行了
      

  6.   

    请用数组,如果POST的话,以下代码在PHP里变量为:$_POST['pic'][$i],操作很方便for($i=0;$i<33;$i++)
    {
        $html.='<input name="pic['.$i.']" type="text" />';
    }
    echo $html; 
      
      

  7.   

    for($i=0;$i<33;$i++)    echo '<input name="pic['.$i.']" type="text" />'; 
      

  8.   

    还是不行啊啊。。
    $_POST['pic'][$i];
    这样接不到值
      

  9.   

    看你前面写的似乎能接收到$_POST????<?php    echo "<pre>";
    print_r($_POST);for($i=1;$i  <=42;$i++){  
      $title=$_POST['title'.$i];  
      
      echo $title."/n";
    }
    echo "</pre>";
    ?>看看结果没有看明白你的意思,如果是$_POST里没有,你就打印$GLOBALS,看看你的问题出在哪里。
    如果$_POST有,那么你的错误很可能就是下面的写法问题了
      

  10.   

    我有 echo $_POST 是有值的
    但是我不知道怎么分析$_POST 把他写进数据库,,,
      

  11.   

    print_r($_POST); 
    是有值的。。但循环就没值了
    for($i=1;$i     <=42;$i++){     
        $title=$_POST[ 'title '.$i];     
        
        echo   $title. "/n "; 

      

  12.   

    .....
    晕,果然那你就看看那里写法是不是有问题,
    刚刚注意到$_POST[ 'title '.$i];
    title后面好像有个空格。
    你不是因为这个吧。
      

  13.   

    循环的数据库写不进去。。
    是空格问题。。用echo 能echo出值for($i=1;$i<=42;$i++){     
        $title=$_POST[title.$i];     
        $pic=$_POST[pic.$i]; 
    $url=$_POST[url.$i]; 
      //  echo   $title. "/n "; 
    // echo    $pic. "/n ";
     //echo   $url. "/n ";
    //echo   " </pre> "; $ins="update $table_vip set TITLE='$title',PIC='$pic',URL='$url' where ID=$i";  //die($ins);
    mysql_query($ins,$conn); 
    }    mysql_close($conn);
      

  14.   

    $conn=mysql_connect($host,$namesql,$passsql);  
    mysql_select_db($lib,$conn);  
    mysql_query($ins,$conn);  这几个地方判断返回值
    true or false 看看问题出在哪里if (!($conn=mysql_connect($host,$namesql,$passsql)))die("can't connect");if (!mysql_select_db($lib,$conn))die("no such db or connect faild");if (!mysql_query($ins,$conn))die (mysql_error());  
      

  15.   

    Query was empty
    怎么回事情?
      

  16.   

    为什么我有这样写只能写进两比数据到数据库啊。。<? 
    require("config.php"); 
    $conn=mysql_connect($host,$namesql,$passsql);
    mysql_select_db($lib,$conn);
    mysql_query("Set Names 'gb2312' ");
    for($i=1;$i<=42;$i++){  
    $title=$_POST['title'.$i];
        $pic=$_POST['pic'.$i];
        $url=$_POST['url'.$i]; $ins="update $table_vip set TITLE='$title',PIC='$pic',URL='$url' where ID='$i'";
        mysql_query($ins,$conn);
    }
    mysql_close($conn);
    ?>