Помощ със една заявка

DirectX

Registered
4611.png

имам ето тази структура на 2 таблици;
лявата (сивата) се казва собственици
дясната се казва договор
Искам ако има съответствие между 2-те таблици на тези хора да им излиза 1-ца а на тези който нямат 0

[sql]$query = mysql_query("SELECT * FROM `sobstvenici` inner join dogovor on sobstvenici.id=dogovor.s_id order by ime ASC")or die(mysql_error()."<br />Грешка: ".__LINE__);[/sql]
Сега ползвам това, но не ми върши работа ...
 
[sql]SELECT
IF(!isnull(d.id),1,0) AS is_check
FROM sobstvenici s
LEFT JOIN dogovor d ON s.id = d.s_id
ORDER BY ime ASC[/sql] :idea:
 
Еми то е същото, дали в SQL, дали в PHP, ако както разбрах между двете таблици релацията ти е това s_id не виждам причина да не работи?
 
Replace каза:
Еми то е същото, дали в SQL, дали в PHP, ако както разбрах между двете таблици релацията ти е това s_id не виждам причина да не работи?
а как ще изведа после резултата в цикъла :shock:
 
Както се извежда, или може би аз не те разбирам? Какво не ти харесва на заявката (и твойта, и мойта)?
 
PHP:
echo '<h5><table border=1 class="table-normal">';
echo '<tr>';
echo '<thead>';
echo '<th>Име</th>';
echo '<th>ЕГН</th>';
echo '<th>Адрес</th>';
echo '<th>Телефон</th>';
echo '<th>Лична карта</th>';
echo '<th>Договор</th>';
echo '<th>Касов ордер</th>';
echo '</thead>';
echo '</tr>';

$query = mysql_query("SELECT 
IF(!isnull(d.id),1,0) AS is_check
FROM sobstvenici s 
LEFT JOIN dogovor d ON s.id = d.s_id
ORDER BY ime ASC")or die(mysql_error()."<br />Грешка: ".__LINE__);
while($row = mysql_fetch_array($query)){
	$id = $row['id'];
	$ime = $row['ime'];
	$familiq = $row['familiq'];
	$prezime = $row['prezime'];
	$nick = $row['nick'];
	$egn = $row['egn'];
	$adres = $row['adres'];
	$grad = $row['grad'];
	$telefon = $row['telefon'];
	$karta = $row['karta'];
	$cqloime = "$ime $prezime $familiq $nick";
	
echo '<tr>';
echo '<td>'."<a href=\"informaciq.php?id=$id&godina=$year\">$cqloime</a>".'</td>';
echo '<td>'.$egn.'</td>';
echo '<td>'.$grad.', '.$adres.'</td>';
echo '<td>'.$telefon.'</td>';
echo '<td>'.$karta.'</td>';
echo '<td>'.??.'</td>';
echo '<td>'.??.'</td>';
echo '</tr>';


}
echo '</table></h5>';
?>
в момента е така и ми излизат само празни редове в таблицата
питам как да го направя че да се запълнят с информация от базата :D
 
DirectX каза:
echo '<h5><table border=1 class="table-normal">';
echo '<tr>';
echo '<thead>';
echo '<th>Име</th>';
echo '<th>ЕГН</th>';
echo '<th>Адрес</th>';
echo '<th>Телефон</th>';
echo '<th>Лична карта</th>';
echo '<th>Договор</th>';
echo '<th>Касов ордер</th>';
echo '</thead>';
echo '</tr>';

$query = mysql_query("SELECT
IF(!isnull(d.id),1,0) AS is_check, s.*
FROM sobstvenici s
LEFT JOIN dogovor d ON s.id = d.s_id
ORDER BY ime ASC")or die(mysql_error()."<br />Грешка: ".__LINE__);
while($row = mysql_fetch_array($query)){
$id = $row['id'];
$ime = $row['ime'];
$familiq = $row['familiq'];
$prezime = $row['prezime'];
$nick = $row['nick'];
$egn = $row['egn'];
$adres = $row['adres'];
$grad = $row['grad'];
$telefon = $row['telefon'];
$karta = $row['karta'];
$cqloime = "$ime $prezime $familiq $nick";

echo '<tr>';
echo '<td>'."<a href="informaciq.php?id=$id&godina=$year">$cqloime</a>".'</td>';
echo '<td>'.$egn.'</td>';
echo '<td>'.$grad.', '.$adres.'</td>';
echo '<td>'.$telefon.'</td>';
echo '<td>'.$karta.'</td>';
echo '<td>'.??.'</td>';
echo '<td>'.??.'</td>';
echo '</tr>';


}
echo '</table></h5>';
?>
 
БЛАГОДАРСКО !
А как ще стане от 2 таблици да изкарва като 2-ра да речем е `ks` и пак има същите полета id, s_id, nomer 8)
 
$query = mysql_query("SELECT
IF(!isnull(d.id) OR !isnull(ks.id),1,0) AS is_check, s.*
FROM sobstvenici s
LEFT JOIN dogovor d ON s.id = d.s_id
LEFT JOIN още_една_таблциа ks ON s.id = ks.s_id
ORDER BY ime ASC")or die(mysql_error()."<br />Грешка: ".__LINE__);
или пак нещо не мога да те разбера, дай по-добре пак структурите и кажи какъв резултат очакваш :idea:
 
Replace каза:
$query = mysql_query("SELECT
IF(!isnull(d.id) OR !isnull(ks.id),1,0) AS is_check, s.*
FROM sobstvenici s
LEFT JOIN dogovor d ON s.id = d.s_id
LEFT JOIN още_една_таблциа ks ON s.id = ks.s_id
ORDER BY ime ASC")or die(mysql_error()."<br />Грешка: ".__LINE__);
или пак нещо не мога да те разбера, дай по-добре пак структурите и кажи какъв резултат очакваш :idea:
PHP:
$query = mysql_query("SELECT 
IF(!isnull(d.id),1,0) AS is_check, s.*
IF(!isnull(ks.id),1,0) AS is_check2, s.*
FROM sobstvenici s 
LEFT JOIN dogovor d ON s.id = d.s_id 
LEFT JOIN ks ON s.id = ks.s_id
ORDER BY ime ASC")or die(mysql_error()."<br />Грешка: ".__LINE__);
нещо такова искам да стане - т.е. и за 2-рата таблицата ks ако има съответствие да изкарва следователно 1 или 0
 
Ми ти почти си стигнал до отговора :)
$query = mysql_query("SELECT
IF(!isnull(d.id),1,0) AS is_check,
IF(!isnull(ks.id),1,0) AS is_check2,
s.*

FROM sobstvenici s
LEFT JOIN dogovor d ON s.id = d.s_id
LEFT JOIN ks ON s.id = ks.s_id
ORDER BY ime ASC")or die(mysql_error()."<br />Грешка: ".__LINE__);
 
Replace каза:
Ми ти почти си стигнал до отговора :)
$query = mysql_query("SELECT
IF(!isnull(d.id),1,0) AS is_check,
IF(!isnull(ks.id),1,0) AS is_check2,
s.*

FROM sobstvenici s
LEFT JOIN dogovor d ON s.id = d.s_id
LEFT JOIN ks ON s.id = ks.s_id
ORDER BY ime ASC")or die(mysql_error()."<br />Грешка: ".__LINE__);
EЙйй мерси МНОГО ! :twisted: :twisted: :twisted:
 

Back
Горе