drutjkpsr67393592 2011-09-23 06:10
浏览 13

too long

I have one application in flash in which multiple users can log in and can upload images. when user log in he can view images uploaded by him and also can view images uploaded by other users(only allowed images). for that i am generating xml file through php.

please check xml file.

<images>
    <users user_name="Hardik">
        <image image_id="1316683023140" image_title="water" image_desc="water" image_path="all_users/Hardik/1316683023140.jpg" image_like="false"/>
        <image image_id="1316683057577" image_title="sunset" image_desc="sunset" image_path="all_users/Hardik/1316683057577.jpg" image_like="false"/>
        <image image_id="1316683115124" image_title="hills" image_desc="hills" image_path="all_users/Hardik/1316683115124.jpg" image_like="false"/>
        <image image_id="1316683713159" image_title="sun" image_desc="sun" image_path="all_users/Hardik/1316683713159.jpg" image_like="false"/>
        <image image_id="1316684544200" image_title="sun" image_desc="sun" image_path="all_users/Hardik/1316684544200.jpg" image_like="false"/>
        <image image_id="1316686014899" image_title="sun" image_desc="sun" image_path="all_users/Hardik/1316686014899.jpg" image_like="false"/>
        <image image_id="1316600184214" image_title="asd" image_desc="asd" image_path="all_users/Hardik/1316600184214.jpg" image_like="false"/>
        <image image_id="1316668356801" image_title="hello" image_desc="hello" image_path="all_users/Hardik/1316668356801.jpg" image_like="false"/>
        <image image_id="1316600221759" image_title="asd" image_desc="asd" image_path="all_users/Hardik/1316600221759.jpg" image_like="false"/>
        <image image_id="1316600193960" image_title="asd" image_desc="asd" image_path="all_users/Hardik/1316600193960.jpg" image_like="false"/>
        <image image_id="1316600172938" image_title="asd" image_desc="asd" image_path="all_users/Hardik/1316600172938.jpg" image_like="false"/>
        <image image_id="1316600144316" image_title="asd" image_desc="asd" image_path="all_users/Hardik/1316600144316.jpg" image_like="false"/>
        <image image_id="1316600173551" image_title="asd" image_desc="asd" image_path="all_users/Hardik/1316600173551.jpg" image_like="false"/>
        <image image_id="1316600177792" image_title="asd" image_desc="asd" image_path="all_users/Hardik/1316600177792.jpg" image_like="false"/>
        <image image_id="1316496700758" image_title="sunset" image_desc="sunset" image_path="all_users/Hardik/1316496700758.jpg" image_like="false"/>
        <image image_id="1316252181829" image_title="allow" image_desc="allow" image_path="all_users/Hardik/1316252181829.jpg" image_like="false"/>
        <image image_id="1316690195793" image_title="asasdas" image_desc="asdasd" image_path="all_users/Hardik/1316690195793.jpg" image_like="false"/>
        <image image_id="1316600153509" image_title="asd" image_desc="asd" image_path="all_users/Hardik/1316600153509.jpg" image_like="false"/>
        <image image_id="1316408901775" image_title="winter" image_desc="winter" image_path="all_users/Hardik/1316408901775.jpg" image_like="false"/>
    </users>
    <users user_name="raj">
            <image image_id="1315996252734" image_title="abc" image_desc="abc" image_path="all_users/raj/1315996252734.jpg" image_like="false"/>
    </users>
    <users user_name="sandip">
            <image image_id="1315996256153" image_title="abc" image_desc="abc" image_path="all_users/sandip/1315996256153.jpg" image_like="false"/>
    </users>
</images>

i have one logical issue with my XML file (that is generated by PHP). now i want to change child tag order. i want to have child tag of a user (that is logged in) in first position.

say if sandip logins his child tag should come first instead hardik.

you can check my php code here

<?php
    require_once('connection.php');

    header('Content-type: text/xml');
    echo "<?xml version='1.0' encoding='UTF-8'?>";
    echo "<images>";

    $id='';
    $count=0;
    $result_1 = '';


    $query = "select  ui.userId as 'UI userId', ua.userName as 'UI userName', ui.imageId as 'UI ImageId', ul.imageId as 'UL ImageId' , ui.imageRights, ui.imagePath, ui.imageTitle, ui.imageDesc from user_account ua, (select * from user_images where userId=".$_REQUEST['userId']." or imageRights='Allow') as ui left join (select * from user_likes where userId=".$_REQUEST['userId'].") as ul on ui.imageId = ul.imageId where ua.userId=ui.userId order by ui.userId";

    $result_row = mysql_query($query);

    while($row = mysql_fetch_array($result_row, MYSQL_ASSOC))
    {
            if($id != $row['UI userId'])
            {
                if($count == 0)
                {
                    $result_1 .= "<users user_name='".$row['UI userName']."'>";
                }
                else
                {
                    $result_1 .= "</users>";
                    $result_1 .= "<users user_name='".$row['UI userName']."'>";
                }
                $id = $row['UI userId'];
            }

            $result_1 .= "<image image_id='".$row['UI ImageId']."' image_title='".$row['imageTitle']."' image_desc='".$row['imageDesc']."' image_path='".$row['imagePath']."' image_like='";

            if($row['UL ImageId'])
                $result_1 .= "true";
            else
                $result_1 .= "false";
            $result_1 .= "' />";

            $count++;

            if($count == mysql_num_rows($result_row))
                $result_1 .= "</users>";
    }

    echo $result_1;
    echo "</images>";
?>

if you have any better solution please forward.

  • 写回答

1条回答 默认 最新

  • dongrao1862 2011-09-23 08:18
    关注

    I would like to suggest some fixes to your php script in addition to solving your problem:

    $num_of_rows = mysql_num_rows($result_row); // Don't call this every loop it's very slow
    $rows = [];
    while($row = mysql_fetch_array($result_row, MYSQL_ASSOC)){
        if($id == $row['UI userId']){
            // Print the logged in user's images
        } else {
            $rows[] = $row;
        }
    }
    
    // Print here the rest of the results
    foreach ($rows as $row) {
        if($id != $row['UI userId'])
        {
            if($count == 0)
            {
                $result_1 .= "<users user_name='".$row['UI userName']."'>";
            }
            else
            {
                $result_1 .= "</users>";
                $result_1 .= "<users user_name='".$row['UI userName']."'>";
            }
            $id = $row['UI userId'];
        }
    
        $result_1 .= "<image image_id='".$row['UI ImageId']."' image_title='".$row['imageTitle']."' image_desc='".$row['imageDesc']."' image_path='".$row['imagePath']."' image_like='";
    
        if($row['UL ImageId'])
            $result_1 .= "true";
        else
            $result_1 .= "false";
        $result_1 .= "' />";
    
        $count++;
    
        if($count == $num_of_rows)
            $result_1 .= "</users>";
    }
    
    echo $result_1;
    echo "</images>";
    ?>
    
    评论

报告相同问题?

悬赏问题

  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备