多行select我知道可以用while,update也是用while.
你这样的表总分就是3个字段相加,平均分则是前面加的和除以3

解决方案 »

  1.   


    update `table` set  `总分`=`用户1`+`用户2`+`用户3`,`平均分`=(`用户1`+`用户2`+`用户3`)/3 where `总分` = null;
      

  2.   

    1楼上的老大,如何实现,帮写个意思出来就行...多谢总分比较好办,最后再加就可以了.因为当前用户只操作自己的数据,也就是说当前用户只update自己字段的每行数据多谢多谢!!
      

  3.   

    for.....update `table` set  `总分`=`用户1`+`用户2`+`用户3`,`平均分`=(`用户1`+`用户2`+`用户3`)/3 where `总分` = null;next
      

  4.   

    兄弟,要我是你boss我也想骂你。不过现在不是骂你的时候,你的问题是不是说用户之间互相不了解,用户数目也不确定,数据表不知道怎么设计才能采集每个用户的评分,是这样么?如果不是,我们就没有看出你问题在什么地方,首先多的不说,总分平均分就不该放在数据库里面,需要输出到页面的时候,自己计算好了如果是用户数目不确定,数据库这么设计:作品编号  用户  评分
    1       用户1 评分1
    1       用户2 评分2
    1       用户3 评分3SELECT 评分 FROM 评分表 WHERE 作品编号=1 AND 用户="用户1";
    SELECT SUM(评分) as 总分, AVG(评分) as 平均分 FROM 评分表 GROUP BY 作品编号 WHERE 作品编号=1;如果不是用户数目不确定,都不知道你在问什么莫名其妙的东西
      

  5.   

    楼上的老大,先谢谢您.请再看一次我描述的内容,  我写的表比较简单,是因为想把问题简单化,不把别的数据加进来第一个不是表,是用户界面.....因为用户打分是异步的,基本这个问题主要是想当用户打分编号   标题     作者   打分 
    1     标题1    小a    50 
    7     标题2    小a    60 
    53    标题3    小a    70 填完以后写到表里就可以了 
    编号   标题     作者  用户1  用户2  用户3  总分  平均分 
    1     标题1    小a    50    60    70
    7     标题2    小b    60    20    70               
    53    标题3    小c    70    80    80               因为这个用户1打完分后要update所有行的用户1字  所以我估计要写个循环,不太会写,就是这么回事。可能是我前面的循环有错的地方吧,报歉了。您再多帮忙吧。谢谢
      

  6.   

    for..... update `table` set  `总分`=`用户1`+`用户2`+`用户3`,`平均分`=(`用户1`+`用户2`+`用户3`)/3 where `总分` = null; next
      

  7.   

    兄弟,你知道啥叫异步啥叫同步么。我看到你的描述就晕掉了,你有能力得到用户在编号1的评分,编号7的评分,编号53的评分么?如果没这能力,多看看php的书如果有这能力,从第一个执行到最后一个
    UPDATE 'table' set 用户1=评分1 WHERE 编号=1如果你告诉我们大家你连从第一个执行到最后一个都不会,你自己多看点书,看看for语句怎么写的吧,数组是个啥东西好了,在这也问不出啥东西来的,一点基础都没有我们讲了你也听不懂?前面说的很好了,循环执行
      

  8.   

    哈哈,楼上的老大最近睡的不好吧,火气有点大,连数组都不知道还写什么php~~用了个list+each搞定了 while(list($name,$value)=each($_POST))UPDATE.......打了那么多字,辛苦了.....   分都给您吧....   要是最近太辛苦,吃个黄牛清心吧,比较有帮助^^
      

  9.   

    原来你是这问题,早说嘛,你看你问题提的,这和mysql有啥关系?php里面可以有数组的,哪用你那么麻烦:<?php 
    if (isset( $_POST [ 'action' ]) && $_POST [ 'action' ] == 'submitted' ) { 
        $arr = $_POST[""];
        foreach ($arr as $key => $value) {
            UPDATE………………
        }
    } else { 
    ?> 
    <form action=" <?php echo $_SERVER [ 'PHP_SELF' ]; ?> " method="post"> ………………………………………………………………………………………………………………    作品1评分:  <input type="text" name="[作品1]"><br /> ………………………………………………………………………………………………………………    作品2评分: <input type="text" name="[作品2]"><br /> ………………………………………………………………………………………………………………    <input type="hidden" name="action" value="submitted" /> 
        <input type="submit" name="submit" value="submit me!" /> 
    </form> 
    <?php 

    ?> 
      

  10.   

    哎,我给他说了用FOR
    他都没想到
      

  11.   

    就这都能结贴?为什么一定要用update?REPLACE [LOW_PRIORITY | DELAYED]
    [INTO] tbl_name [(col_name,...)]
    VALUES ({expr | DEFAULT},…),(…),…REPLACE into 表情 (编号,标题,作者,用户2,用户2,用户3) values (1,'标题1','小a',50,60,70),(7,'标题2','小b',50,60,70),(35,'标题2','小b',50,60,70);这样就好了呀