گرفتن Id برای ارسال مطلب

soroushspirit

New Member
[FONT=&quot]من یک فرم ارسال مطلب دارم مینویسم که در داخل اش می خوام موضوعات به صورت یک لیست قرار بگیره و کاربر موضوع مورد نظر اش رو انتخاب کنه و موضوع به دیتابیس ارسال بشه اما در ارسال موضوع و هنگام ادیت کردن مطلب مشکلات زیر به وجود میاد [/FONT]
[FONT=&quot]جدول های دیتا بیس[/FONT]
Category --> field ha--> category_id , Category_name

Post --> Field ha --> id, title, description, content, visible, date, visit, tags, category_id
[FONT=&quot]
[/FONT]
[FONT=&quot]فراخوانی موضوعات در لیست :[/FONT]


PHP:
            <select name="category_id">
                <?php
                    $query = "SELECT * 
                            FROM category";
                    $category_set = mysql_query($query , $connection);
                        if(!$category_set){
                            die("Database query failed : " . mysql_error());
                        }
                    $category_count = mysql_fetch_array($category_set);
                        while($category_count = mysql_fetch_array($category_set)){
                            echo "<option value=\"{$category_count['category_id']}\">{$category_count['category_name']}</option>"; 
                        }
                ?>
            </select>
دریافت موضوع انتخاب شده و ارسال به دیتابیس :

PHP:
$category_id = $_POST['category_id'];
        
     $query = "INSERT INTO post (
                title , description , content , date , visit , tags , category_id
                ) VALUES (
                '{$title}' ,'{$description}' ,'{$content}' , ". mktime() ." , 0 , '{$tags}' ,{$category_id}
                )";

فراخوانی در بخش ادیت :

PHP:
<?php
                    $query = "SELECT * 
                            FROM category";
                    $category_set = mysql_query($query , $connection);
                    if(!$category_set){
                        die("Database query failed : " . mysql_error());
                    }
                    while($category_count = mysql_fetch_array($category_set)){
                    echo "<option value=\"{$category_count['category_id']}\"";
                            if($post['category_id'] == $category_count['category_id']){
                                echo " selected";
                                } 
                            echo">{$category_count['category_name']}</option>"; 
                    }
                ?>
ارسال در بخش ادیت :

PHP:
    $query = "UPDATE post SET
                title = '{$title}' ,
                description = '{$description}' ,
                content = '{$content}' ,
                visible = {$visible}  ,
                date = ". mktime() .",
                visit = 0 ,
                tags = '{$tags}'
                WHERE id = " . $post_id ." ";
    $result = mysql_query($query,$connection);
    if (mysql_affected_rows()  == 1 ){
[FONT=&quot]1. id موضوع انتخابی کاربر مگه نباید به صورت : [/FONT]
PHP:
$category_id = $category_count[$_POST['category_id']];
[FONT=&quot] باشه؟ پس چرا کار نکرد و من خیلی اتفاقی با این کد [/FONT]
PHP:
$category_id = $_POST['category_id'];
[FONT=&quot] تونستم id رو بگیرم و به دیتا بیس ارسال کنم؟؟[/FONT]
[FONT=&quot] 2. تو بخش ادیت نمیدونم چظوری باید id موضوعی رو که کاربر تغییر داده رو بگیرم و دوباره برای دیتابیس ارسال کنم ؟ هر کاری می کنم نمیشه؟ [/FONT]
[FONT=&quot] 3. تو قسمت ارسال مطلب وقتی یک پست ارسال میشه آخرین موضوعی که در دیتا بیس ثبت شده دیگه فراخوانی نمیشه مثلا اگر 3 تا موضوع داشته باشیم وقتی به دیتا بیس پست ارسال میشه دفعه بعد 2 تا موضوعی فراخوانی میشه و موضوع آخر دیتابیس فرا خوانی نمیشه مگر این که یک رفرش انجام بشه . [/FONT]

ممنونم
 

Masoud1365

مدیر انجمن
2. تو بخش ادیت نمیدونم چظوری باید id موضوعی رو که کاربر تغییر داده رو بگیرم و دوباره برای دیتابیس ارسال کنم ؟ هر کاری می کنم نمیشه؟
برای ادیت کردنش با ارسالش که فرقی نداره شما همون $_post['category_id'] رو که بگیری حله !
3. تو قسمت ارسال مطلب وقتی یک پست ارسال میشه آخرین موضوعی که در دیتا بیس ثبت شده دیگه فراخوانی نمیشه مثلا اگر 3 تا موضوع داشته باشیم وقتی به دیتا بیس پست ارسال میشه دفعه بعد 2 تا موضوعی فراخوانی میشه و موضوع آخر دیتابیس فرا خوانی نمیشه مگر این که یک رفرش انجام بشه .
کدش رو بزار
 

جدیدترین ارسال ها

بالا