PDA

View Full Version : مشکل با دو query



Joyebright
جمعه 01 دی 1391, 21:06 عصر
با سلام دوستان اول کدمو می زارم براتون :


<?php

if (isset($_POST['ttitle']) && isset($_POST['upbody'])){


$title = mysql_input($_POST['ttitle'],$link);

$date = mysql_input($_POST['date'],$link);

$body = mysql_input($_POST['upbody'],$link);

$titlecheck = mysql_query("select * from archive where title = '$title'",$link);

$result = mysql_fetch_assoc($titlecheck);

if($result['title'] == $title){

?>

<script>alert("این عنوان قبلا در سیستم ثبت شداست!");</script>

<?php
}else{


$sql = "insert into archive(title,date,body)";

$sql .="value('$title','$date','$body')";

mysql_query($sql,$link);

?>

<script>alert("اطلاعات با موفقیت ذخیره شد");</script>

<?php

}
//check if a file attach then save it in upload folder

if ($_FILES['image']['size'] <= $max){

$destination='C:\xampp\htdocs\Mehr Bespar Nikan\upload\\';

$pic_save = addslashes($destination.$_FILES['image']['name']);

move_uploaded_file($_FILES['image']['tmp_name'],$destination.$_FILES['image']['name']);

$sql2 = "insert into archive (image) value ('$pic_save')";

mysql_query($sql2,$link);

?>

<script>alert("عکس شما با موفقیت دخیره شد ");</script>

<?php
}

else{

?>

<script>alert(" <?php echo $max; ?>: عکس شما وارد سیستم نشد یکی از دلایل می تواند رعایت نکردن اندازه مجاز فایل باشد /اندازه مجاز برابر است با ");</script>

<?php

}

}

?>

مشکل اینجاست که الان تو دیتابیسم فقط آدرسی ذخیره میشه که مربوط به عکس آپلود شده است و فیلد مربوط به عنوان متن و تاریخ خالی میشه اما این مشکل وقتی ذخیره عکس را حذف می کتم تو دیتابیس حل میشه لطفاٌ راه حل خودتونو بگید ممنونم .لازم به ذکره که برنامه تحت لوکاله

Joyebright
جمعه 01 دی 1391, 22:46 عصر
$sql2 = "insert into archive (image) value ('$pic_save')";
شما فقط گفتی آدرس و بریزه تو باننک خوب معلومه خالی میشه اونا دیگه

حرف شما منطقی اما من نگفتم که بیا اونارو پاککن که گفتم فقط تو image بریز آدرسو و وارد کردن مراحل قبل پیشتر صورت گرفته اما با این توضیجی که دادید update کزدم اما فقط باید طوری طراحی کنم که سطر آخرو update کنه

Joyebright
جمعه 01 دی 1391, 23:19 عصر
دوست عزیز شما چطور ندیدی struct دیتابسمو می گی من ستون هامو نال پذیر گذاشتم ؟! من ستون image به صورت default نال گذاشتم بنابراین زمانی که مقداری واردش بشه مشکلی نیست.

خدمت شما عرض کنم شلوغشو ندیدی دوست عزیز این یه شبه کد نه کد ! اگه منظورت تو رفتگیو ایناست که فعلاٌ صحبت اینا نیتش با این حال کاملاٌ تفکیک شدن قسمت های مختلف.

در مورد اینکه اول هر دورکارو چک کنم بعد بیام اینسرت کنم ، خودت یه بار بخونی کدو جواب خودتو می گیری با این راه های دیگه هم وجود داره اما من مشکلم از سوالم کاملا واضح است که این نیست.

این مشکل آخرین سطر دیتا بیس با این قسمت کامل حل شد :


$sql2 = "update archive set image ='$pic_save' ORDER BY id DESC LIMIT 1";

خدمت شما عرض کنم که نه مشکلی ایجاد نمیشه یه s نذاری !

بازم برمی گردم به خط اول توضیحام شما دیتابیسمو ندیدی بنابراین این چیزی که می گی کاملا اشتباهه.

در مورد تشکر باید خدمتت عرض کنم که اولاٌ کسی کسیو زور نکرده که کسی بیاد تشکر کنه تشکر زمانی فایده داره که شما از کسی چیزی یاد بگیری.

Joyebright
جمعه 01 دی 1391, 23:35 عصر
الان از کدوم خط من باید بفهمم نال پذیر هست ساختار بانکتون ؟؟
این حرف شماست دیگه

"تازه شما ستون هاتونو نال پذیر تعریف کردید و الا اصلا اجازه insert نمیداد"

شما گفتید نال پذیره :قهقهه:

.................................................. ......................

خوب چرا نوشته هاتونو پاک می کنید ، درسته دسترسی بالاتری دارید اما این جوان مردانه نیست .به هر حال من مشتاقانه منتظر جواب شما هستم:متفکر:

$ M 3 H R D A D $
شنبه 02 دی 1391, 09:03 صبح
جوانمردیم همون قدر بود که تا خود دیر وقت روز جمعه واسه گیری که شما داری توش موندی داشتم تلاش میکردم.والا سودی هم داره برای من ؟
در مورد تشکر .
من نگفتم تشکر کن.اصلا!
گفتم تشکر کردن یک احترام به حساب میاد .گفتم یا نه ؟
هر چه که گفتم بر اساس کد هایی که دادید بود و کاملا درست گفتم.
شما فرمودید چظور سختار و ندیده میگید ستون نال پذیره :
من گفتم وقتی شما در کوئری درج رکورد فقط یه ستون و مقدار دهی می کنید :

$sql = "insert into archive(title,date,body)";
$sql = "insert into archive(title,date,body)";
و ستون های دیگه مقدار نمیگیرند حتما نال پذیر هستند و الا این کودری با موفقیعت به انجام نمیرسه

در مورد تشکر باید خدمتت عرض کنم که اولاٌ کسی کسیو زور نکرده که کسی بیاد تشکر کنه تشکر زمانی فایده داره که شما از کسی چیزی یاد بگیری.

قضاوت ین حرفتون هم میسپرم به دوستان دیگه.
در مورد شلوغ نویسی گفتم :
خیلی از کد های مبتدی استفاده کردید و کاما شلوغ نوشتید نظر شخصی منه
از آدرس دستینیشن گرفته تا ظریقه درج در بانک و ولید کردن و هزار تا چیز دیگه
نظر شخصی من بوده و هنوزم همون نظر و دارم.منتها به این معنی نیست که بخوام کسی و بکوبم .شما به خودت گرفتی و حتما حرفه ای ترش و میتونی بنویسی و الا می پرسیدید حرفه ای چجوری نوشته میشه تا من حرف و واضح تر می نوشتم.

در مورد ساختار بگم شما ساختارتون از کد معلوم هست چون در درج رکورد من اسمس از شناسه یونیک ندیدم که همون آیدی باشه
والا گرفتن آخرین رکوردی که شما باز با کوئری گرفتینش ( یک کار اصافه و الکی دیگه ) اگه آیدی و شناسه یونیکی بود میتونستید به دستورات mysql که خودش میاد آیدی آخرین رکورد و میگیره این کار و انجام بدید

در مورد حدف کردن هم بگم خیلی از دوتسان نیاز به کمک ندارند می خوان کل کل کنند و این من هستم که اشتباها بهشون کمک زورکی می کنم شب و وقت و بی وقت !
شما سرور ما هستی ! دسترسی من بالا تر نیست . این ستاره ها هم زورکی گرفتم از این و اون :دی
هر کسی می تونه پست خودشو حذف کنه و این ربظی به دسترسی نداره.
من گفتم و لان می گم نباید به شما کمک می کردم = حذف مظالب خودم.
موفق باشید

Joyebright
شنبه 02 دی 1391, 10:11 صبح
دوست عزیز ممنون که اومدی کمک کنی شما می گید که کمک کردید خوب دلیلی نداشت که بیای پستاتو پاک کنی ! با این حال من دیگه جواب این دلایله شمارو نمیدم ولی اینو بدونید من برای تک تک اینا جواب دارم اما با توجه به تجربم تو فروم های مختلف ترجیح می دم تاپیک به spam کشیده نشه.

$ M 3 H R D A D $
شنبه 02 دی 1391, 10:37 صبح
ممنون که به فکر اسپم نکشیدن هستید و سپاسگذار.بعضی از شکلک ها خیلی آدم و می چزونه.در هر صورت موفق باشید