Изваждане на данни за потребителя но не от таблицата users

joorkataa

Registered
Как мога да извадя данните например за моя потребител от друга таблица не users

например имам таблица achivment

вътре в нея има полета

id,idname,name,opisanie


idname е id-то на потребителя от таблицата users
name е името на потребителя от таблицата users

Как мога да направя да си виждам описанието

и също така като влезна в на някой потребител профила да виждам и неговото описание ?
 
Или аз бъркам или незнам, какво значение име, дали вадиш информацията от една таблица, или от друга .. предполагам, че аз не съм разбрал нещо, но ето :

Код:
<?
$get=mysql_query("SELECT * FROM `achivment` WHERE `name` = $_SESSION[name]") or die(mysql_error());
$row=mysql_fetch_array($get);
$id=$row['id'];
$idname=$row['idname'];
$name=$row['name'];
$opisanie=$row['opisanie'];

echo "Име - $name, Описание - $opisanie";
?>
 
Ахам :)

А може ли да ми зглобите едно кодче тук, ако имам 500 пари в полето money от таблицата users

да се записва следното нещо в друга таблица
таблицата да се казва achivments

да има 4 полета

id,name,nameid,achivment1

id ще си е auto
name да е името на потребителя
nameid да е id-то на потребителя

а в achivment1 да записва стойност 1

Ето това ми е проверката за потребителите от таблицата users

Код:
if($_SESSION['name']) {
$name = $_SESSION['name'];
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my = mysql_fetch_array($do);
 
Код:
<?
$query=mysql_query("SELECT * FROM `users` WHERE `name` = '$_SESSION[name]'") or die(mysql_error());
$row=mysql_fetch_array($query);
$id=$row['id'];
$money=$row['money'];
$name=$row['name'];

if ($money == 500)
{
$add=mysql_query("INSERT INTO `achivments` (`id`, `name`, `nameid`, `achivments`) VALUES ('', '$name', '$id', '1')") or die(mysql_error());
}
?>
 
joorkataa каза:
Ахам :)

А може ли да ми зглобите едно кодче тук, ако имам 500 пари в полето money от таблицата users

да се записва следното нещо в друга таблица
таблицата да се казва achivments

да има 4 полета

id,name,nameid,achivment1

id ще си е auto
name да е името на потребителя
nameid да е id-то на потребителя

а в achivment1 да записва стойност 1

Ето това ми е проверката за потребителите от таблицата users
Веднага ти задавам въпрос:
nameid в таблица achivments Unique ли е?
С други думи допускаш ли за един и същ потребител да има повече от един запис в таблица achivments?
Защото според мен не би трябвало да се допуска такова нещо и полето nameid трябва да е Unique.
Това което са ти дали като пример по-добре не го прави.
Всичко което се иска е да изпълниш едно query.
Код:
$query="INSERT IGNORE INTO achivment (name,nameid,achivment1) SELECT name,id,1 AS 'achivment1' FROM users WHERE money=500 AND id=".$user_id."";

ако nameid ти е Unique, INSERT IGNOR ще се погрижи да на връща грешка при опит за повторно INSERT-ване

П.П.
Съвет от мен. Опитвайте се да не изнасята излишно логигата от MYSQL-а в PHP. Така писаното от вас ще работи много по-бързо, ще е много по-просто и ще си спестите писане.
 

Back
Горе