|
|
|
| Здравствуйте! вот писал скрипт и столкнулся как одну переменную вставить в запрос к бд, вот вобщем код:
<?php
require_once("security.php");
require_once("config.php");
$query = "SELECT * FROM User WHERE FIO='".$_SERVER['PHP_AUTH_USER']."'";
$tbl = mysql_query($query);
if(!$tbl) exit(mysql_error());
// Если имеется хоть одна запись - выводим
if(mysql_num_rows($tbl))
{
while($table = mysql_fetch_array($tbl))
{
echo $table['Client_ID']."<br>"; #<--эту переменную необходимо вставить в след. запрос
}
}
$query1 = "SELECT * FROM Client WHERE ID='"[b]$table['Client_ID']."'[/b]"; # вот здесь проблема...
$bal = mysql_query($query1);
if(!$bal) exit(mysql_error());
if(mysql_num_rows($bal))
{
while($bl = mysql_fetch_array($bal))
{
echo $bl['Credit']."<br>";
}
}
?>
|
код работает полностью работает если вставить в запрос реальное число а не переменную, например: $query1 = "SELECT * FROM Client WHERE ID='4'"; | |
|
|
|
|
|
|
|
для: gers
(08.01.2007 в 00:04)
| | [Исправил]
Извините, не правлиьно понял. | |
|
|
|
|
|
|
|
для: gers
(08.01.2007 в 00:04)
| | Перепишите так: $query1 = "SELECT * FROM Client WHERE ID=".intval($table['Client_ID']);
intval я для пущей уверенности вставил, хотя он будет лишним, если колонка Client_ID имеет числовой тип. | |
|
|
|
|
|
|
|
для: Саня
(08.01.2007 в 00:34)
| | да Client_ID имеет числовой вид, чтото это исправление не дало результата
может код сократить можно? необходимо из первой таблицы добыть Client_ID и вторым запросом извлеч из второй таблицы поле Credit | |
|
|
|
|
|
|
|
для: gers
(08.01.2007 в 00:04)
| | С точки зрения синтаксиса, запрос должен выглядеть так:
$query1 = "SELECT * FROM Client WHERE ID='".$table['Client_ID']."'";
|
Но с точки зрения логики, не понятно, почему вы используете в запросе 'b' и '/b'.
Подставляя значение - '4', вы их не используете.
По поводу объединения запросов, попробуйте так:
$query = "select u.FIO,c.Credit from User u,Client c
where u.FIO = '".$_SERVER['PHP_AUTH_USER']."' and c.ID = u.Client_ID";
|
| |
|
|
|
|
|
|
|
для: AlexelA
(08.01.2007 в 01:20)
| | 'b' и '/b' я использовал чтобы подчеркнуть момент... в основном коде этого нету :)
Спасибо всем за помощь! почитал пока форум сократил код и получилось намного проще...
$query = "SELECT * FROM User WHERE FIO='".$_SERVER['PHP_AUTH_USER']."'";
$tbl = mysql_query($query);
if(!$tbl) exit(mysql_error());
if(mysql_num_rows($tbl))
{
$table = mysql_fetch_array($tbl);
$se =$table['Client_ID'];
echo "$se";
}
?><P>
<?
$query1 = "SELECT * FROM Client WHERE ID='$se'";
$bal = mysql_query($query1);
if(!$bal) exit(mysql_error());
if(mysql_num_rows($bal))
{
$bl = mysql_fetch_array($bal);
$cred =$bl['Credit'];
echo "$cred";
}
|
| |
|
|
|