PDA

View Full Version : گرفتن قسمتی از اطلاعات یک جدول و خروجی گرفتن



parandweb
چهارشنبه 18 دی 1392, 00:16 صبح
با سلام من نام کاربران را به صورت زیر در دیتابیس ذخیره کردم:

علی نام خانوادگی زارع

حسین نام خانوادگی دهقان

حالا میخوام فقط نام کاربران را لیست کنم یعنی خروجی فقط عبارات قبل از " نام خانوادگی " باشه ممنون میشم کمکم کنید کلی گشتم:گریه:

trasilver
چهارشنبه 18 دی 1392, 00:48 صبح
$name = 'علی نام خانوادگی زارع';
$cx = array_map('trim', explode(' نام خانوادگی', $name));
echo $cx[0];
اگه مستقیم از دیتابیس می گیرید کوئری رو قرار بدید براتون با استفاده از foreach درستش بکنم.

Unique
چهارشنبه 18 دی 1392, 10:27 صبح
من نام کاربران را به صورت زیر در دیتابیس ذخیره کردم

روشی که دوستمون گفتن کار میکنه فقط بهتره space قبل از نام خانوادگی را هم بگذارین توی explode یعنی (' نام خانوادگی ') ! اما ...... هیچ دلیلی نداره که ما اسامی را ترکیبی ذخیره کنیم چون خودمون یا کارفرما ممکنه بخپاهیم روش استفاده را تغییر بدیم ! همیشه نام و نام خانوادگی را جدا ذخیره کنید تا هر شکلی بشه ازش استفاده کرد.

parandweb
چهارشنبه 18 دی 1392, 11:14 صبح
این کوئری :


<?php
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER_SET utf8");
$query="SELECT * FROM `name` ORDER BY `id` DESC LIMIT 300";
$select=mysql_query($query);
while($row=mysql_fetch_array($select)){
echo '<br>'.$row['id'].' '.$row['name'].'';
}?>

parandweb
چهارشنبه 18 دی 1392, 11:25 صبح
از لطفتون بی نهایت سپاسگزارم دوستان
اما بر خی از نام خانوادگی ها با " ی " عربی هستش و برخی با "ی" فارسی و اون کد پی اچ پی که شما دادید فقط اونهایی که با " ی " فارسی هست رو تبعیت میکنه

Unique
چهارشنبه 18 دی 1392, 12:22 عصر
مگه خودتون نام خانوادگی را دستی نوی کد اضافه نمیکنید ؟!
خوب مشکل از اینه که یکسری کیبورد عرب داشتن و یکسری فارسی (خدایا ما را از شر IE و Windows راحت کن) ، بهتره زمان ثبت اطلاعات همه ي ها را به ی و همه ك ها را به ک تغییر دهید ! حالا هم میتونید با دو تا update ساده این کار را انجام بدین ! trigger هم میتونید بنویسین !

parandweb
چهارشنبه 18 دی 1392, 12:26 عصر
ممنون اما ای کاش راهنمایی می کردین چه تغییری در کوئری بدم تا فقط عبارات قبل از " نام خانوادگی " را لیست کند

Unique
چهارشنبه 18 دی 1392, 21:37 عصر
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER_SET utf8");
$query="SELECT * FROM `name` ORDER BY `id` DESC LIMIT 300";
$select=mysql_query($query);
while($row=mysql_fetch_array($select)){
$n = explode(' نام خانوادگی ',$row['name']);
echo ''.$row['id'].' '.trim($n[0]).'';
}

parandweb
چهارشنبه 18 دی 1392, 22:03 عصر
سلام بی نهایت ازتون سپاسگزارم میشه خواهش کنم یه راهنمایی دیگه هم بکنید

اگر بخوام خروجی اون حلقه کلش تو یه متغیر ذخیره بشه باید چیکار کنم؟

جوری که من انجام دادم فقط مورد آخری رو ذخیره میکنه!

ممنون میشم راهنماییم کنید

Unique
پنج شنبه 19 دی 1392, 11:03 صبح
جوری که من انجام دادم فقط مورد آخری رو ذخیره میکنه!

میشه کد بگذارین چطور انجام دادین ؟

parandweb
پنج شنبه 19 دی 1392, 11:46 صبح
سلام

کد زیر فقط مورد اخری رو خروجی میده:



mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER_SET utf8");
$query="SELECT * FROM `name` ORDER BY `id` DESC LIMIT 300";
$select=mysql_query($query);
while($row=mysql_fetch_array($select)){
$n = explode(' نام خانوادگي ',$row['name']);
$text = '.$row['id'].' '.trim($n[0]).';
}

Unique
پنج شنبه 19 دی 1392, 22:55 عصر
text .= $row['id'].' '.trim($n[0]);

zahra1372
سه شنبه 22 بهمن 1392, 18:25 عصر
آقاااااا یکی ام به من کمک کنه:گریه:
توی sql چطوری میشه به قسمتی از یه ویژگی دسترسی داشت؟؟؟؟؟
مثلا دو رقم آخر کد دوره
میخام توی یه View ازش استفاده کنم.

MMSHFE
سه شنبه 22 بهمن 1392, 20:10 عصر
تابع SUBSTRING توی MySQL اینکار رو براتون انجام میده.

zahra1372
سه شنبه 22 بهمن 1392, 21:05 عصر
تابع SUBSTRING توی MySQL اینکار رو براتون انجام میده.
واقعا؟؟؟ :) آخ جووووون:لبخندساده:
سرچ میکنم.
بی نهایت متشکررررررررررم :گل::تشویق:

(SUBSTRING(TermID, 8, 2
http://technet.microsoft.com/en-us/library/ms187748.aspx