从php模型继续到下一个id

从php模型继续到下一个id,php,object,models,Php,Object,Models,嗨,我会先发布有问题的代码,然后再问问题 好的,所以quesont中的特定代码段是getAdIdByUserId。它不会迭代与特定用户关联的所有ID。基本上,我想要的是把所有与某个特定用户相关的广告放在一张桌子上。然而,当我运行上面的代码时,我得到了与该用户相关联的正确数量的广告,但是表中只显示了与该用户相关联的第一个id。我想也许我应该增加id,但问题是这个用户有id为1、2、3、7和17的广告。你知道怎么做吗?从我创建的printActiveAds函数中还可以看到,另一个问题是我是否必须在函

嗨,我会先发布有问题的代码,然后再问问题

好的,所以quesont中的特定代码段是getAdIdByUserId。它不会迭代与特定用户关联的所有ID。基本上,我想要的是把所有与某个特定用户相关的广告放在一张桌子上。然而,当我运行上面的代码时,我得到了与该用户相关联的正确数量的广告,但是表中只显示了与该用户相关联的第一个id。我想也许我应该增加id,但问题是这个用户有id为1、2、3、7和17的广告。你知道怎么做吗?从我创建的printActiveAds函数中还可以看到,另一个问题是我是否必须在函数末尾删除它们,或者我不必担心它们,因为一旦函数完成,它们就会被删除(本地范围)


提前谢谢。

所以我解决了这个问题。我缺少set语句和基本get语句。在执行查询之后,我执行了mysql_fetch_array($query),然后将每一行设置为一个userAd属性,然后在执行echo时调用我设置的内容

function printUserActiveAds($currUser){
        $activeUser = new users();
        $userActiveAds = new userAds();

        echo
        '
            <h4>Currently Active Ads:</h4>
            <table class="userActiveAds">
                <tr><td>Title</td><td></td><td>Price</td><td></td><td>Description</td><td></td><td>Delete</td></tr>
        ';

        $numAds = $userActiveAds->getNumberOfAdsByUserId($currUser);
        if($numAds > 0){
            for($i = 0; $i < $numAds; $i++){
                $id = $userActiveAds->getAdIdByUserId($currUser);
                echo
                '
                    <tr>
                        <td>'.$userActiveAds->getAdTitleById($id).'</td><td></td>
                        <td>'.$userActiveAds->getAdPriceById($id).'</td><td></td>
                        <td>'.truncateDescription($userActiveAds->getAdDescriptionById($id),100).'</td><td></td>
                        <td>
                            <form action="" method="post">
                                <input type="submit" name="delete" id="delete" class="button" value="Delete" />
                            </form>
                        </td>
                    </tr>
                ';
                    }
        }else{
            echo
            '
                <tr><td colspan="7"><span class="prompt">Currently No Active Ads</span></td></tr>
            ';
        }
//ad model
    class userAds {
        private $id;
        private $title;
        private $price;
        private $location;
        private $category;
        private $subCategory;
        private $description;

        //default constructor
        function _constructor(){
            $this->id = null;
            $this->title = null;
            $this->price = null;
            $this->location = null;
            $this->category = null;
            $this->subCategory = null;
            $this->description = null;
        }

        //set the ad details
        function setAdDetails($adId,$adTitle, $adPrice, $adLocation, $adCategory, $adSubCategory, $adDescription){
            $this->id = $adId;
            $this->title = $adTitle;
            $this->price = $adPrice;
            $this->location = $adLocation;
            $this->category = $adCategory;
            $this->subCategory = $adSubCategory;
            $this->description = $adDescription;
        }

        //get number of ads by user using user id
        function getNumberOfAdsByUserId($userId){
            $numberOfAds = mysql_query("SELECT * FROM ads WHERE user_id='$userId'") or die(mysql_error());
            return $numAds = mysql_num_rows($numberOfAds);
        }

        //get ad id by user id
        function getAdIdByUserId($userId){
            $queryAdId = mysql_query("SELECT id FROM ads WHERE user_id='$userId'") or die(mysql_error());
            $data = mysql_fetch_assoc($queryAdId);
            return $this->id = $data['id'];
        }