121

(5 replies, posted in SQL užklausos ir duomenų struktūros)

Kazkodel neveikia antras JOIN, tiksliau veikia ne taip, ismeta ne visas reiksmes.

SELECT objektai.Adresas, objektai.Objekto_pavadinimas, Vardas, Pavarde, SUM(objektuose_atlikti_darbai.Kaina_uzsakovui) AS Suma
FROM objektai
LEFT JOIN kontaktiniai_asmenys ON
objektai.Objekto_pavadinimas = kontaktiniai_asmenys.Objekto_pavadinimas
LEFT JOIN objektuose_atlikti_darbai ON
objektai.Objekto_pavadinimas = objektuose_atlikti_darbai.Objekto_pavadinimas
GROUP BY objektuose_atlikti_darbai.Objekto_pavadinimas

objektu lentele:
Objekto_pavadinimas, Suma, Data
Kanapkiu obj. 1256.15 0 2009-01-13
Ðaki¸ parkas 45 100.16 213.15 2009-01-07
Kreves projekas6 126.06 456.09 2009-01-07
Kreves 9 1569.06 156.2 2009-01-07
Sakiu 5 123123 123.15 546.15 2009-01-09
UOsto - 4 UOsto4 442.16 12500.06 2009-01-07
Þiemi¸ 55 213.45 0 2009-01-13
Ðiauli¸85 8510.19 2000 2009-01-07

objektuose_atlikti_darbai:
Objekto_pavadinimas, Kodas, Suma....
Kreves 9 4a 12 144   2
Ðaki¸ parkas 45 1c 25 150   3
Ðaki¸ parkas 45 1c 2 12   4
Ðaki¸ parkas 45 4a 3 36   5
Ðiauli¸85 1c 2 12   6
Ðiauli¸85 1c 12 72   7
Ðaki¸ parkas 45 1c 12 72   8
UOsto4 4b 15 240   9
UOsto4 4a 17 204   10
UOsto4 4b 18 288   11
Ðiauli¸85 1c 3 18   12
Ðiauli¸85 4b 4 64   13
Ðaki¸ parkas 45 4a 12 144   14


Ir kaskodel man ismeta tik tas reiksmes kurios yra Lenteleje objektuose_atlikti_darbai plius Kanapkiu obj

122

(6 replies, posted in PHP)

Jau antra diena vargstu su viena Get problema, ir niekur nerandu pagalbos, visiskai uzstrigau :(

Is cia perduodu duomenis:
echo'<td style="border-style: none; border-width: medium" ><a href="index.php?ObjektaiSkaicavimai='. $Objekto_pavadinimas .'">' . $Objekto_pavadinimas . '</b></td>';

Gaunu

<?PHP
$Objekto_pavadinimas_gautas = current($_GET);
echo $Objekto_pavadinimas_gautas;

//----Pasiimam duomenys
$query = 'SELECT Adresas Objekto_pavadinimas
FROM objektai WHERE Objekto_pavadinimas = '.$Objekto_pavadinimas_gautas.'';


$rezultatai = mysql_query($query, $db_link);
if ($rezultatai == false){
   die("Nepaimta rezultatu");
   }
//-----------------isvedimas----------------------------------
    while($r=mysql_fetch_array($rezultatai, MYSQL_ASSOC )){
  $Adresas=$r["Adresas"];
  $Objekto_pavadinimas=$r["Objekto_pavadinimas"];
    }
echo 'Objektas: '.$Adresas. ' '. $Objekto_pavadinimas .' ';
?>

Atrodo viskas gerai, o kai Objekto pavadinims yra tik skaiciai tai ir buna gerai, bet kai objekto pavadinime nors viena raide nepaima is DB rezultatu. Gaut Objekto pavadinima gauna, bet kazkodel nepaima is DB nieko, gal yra minciu?
Ismeta tiesiog: Nepaimta rezultatu.

123

(6 replies, posted in PHP)

Pasidariau taip:

Pirmas failas:
<a href="a2.php?color=Labas">Labas</a><br />
<a href="a2.php?color=As">As</a><br />
<a href="a2.php?color=Tu">Tu</a><br />

Antras(a2.php) failas:

if(isset($_GET['color'])){
echo 'tuscias'; }
elseif(isset($_GET['Labas'])) {
echo 'Gavom labas';}
elseif(isset($_GET['Tu'])) {
echo 'Gavom tu'; }

Faktiskai turetu viskas veikti, bet neveikia, kodel?
Kaip minejai, su print_r($_GET);  gaunu gera reiksme, bet idomu, kodel mano pateiktas variantas neveikia.

124

(6 replies, posted in PHP)

Sveiki, niekaip nesiseka perprasti $_GET
Ziurejau cia:
http://www.w3schools.com/PHP/php_get.asp
Bet kaip padaryti, taip:

$pirmas = 5;
echo "<a href="index.php?action=&id='. $pirmas .' ">Siusti</a>";

Ir tada puslapi index.php?action pasiimti  $pirmas reiksme.
echo $pirmas; //5

(Kitaip taren, kaip is vienos puslapio kintamjojo reiksme perduoti i kita)
Tikiuosi suprantamai parasiau :]

Dekui ;)

O tai jau dabar kintamiesiems aprasyti nenaudojama @? Vietoj to priskyrimas visada su AS vykstas?

SELECT Adresas, Gautas_avansas, @skirtumas := Gautas_avansas - Atliktu_darbu_kaina
FROM objektai
ORDER BY @skirtumas DESC
LIMIT 5 ;

Del ko man suruosiuoja pagal Gautas_avansas dydi, o ne pagal apskaiciuota rezultata skirtumas?

Sveiki, ar imanoma su sql uzklausa atlikti tokius veiksmus, kaip atimti du laukus ir paskui juos is kart palyginti su kitais.
1 laukas: Avansas
2 laukas: Atlikti_darbai

Veiksmas:
Avansas - Atlikti_darbai ir taip atemus, palyginti visu duomenis ir isrinkti 3 didziausius skirtumas(isiskolinimus).
Pvz,
Avansas Alkiti_darbai
150lt      60lt
150lt      150lt
150lt      110lt
150lt      10Lt
150lt      0lt

IR rezultatas butu toks:
150lt     0lt
150lt     10Lt
150lt     60lt

128

(7 replies, posted in PHP)

Tai man visa kita lyg ir aisku, tik vat cia susidoriau su problema...

O rasau i db, nes dar reikia ir kaupti archyva. Tai kai kaupiu archyva,  tuo paciu ir atspausdysiu. Su post metodu jau esu pasidares, kad atvaizduotu, bet kaip minejau uzkliuvau su masyvo rasymu i db.

129

(7 replies, posted in PHP)

Sumasciau panaudoti implode() ir paskui, kai istrauksiu duomenis, naudoti explode(). Bet ar tai nebus blogai, kad visus pasirinktus duomenis sugrusiu i viena lenteles eilute. Kaip apsirasyti tada jos tipa, text? Ar varchar, bet tai koki ilgi parinkti neaisku, nes gali buti labai ilgas... O jei parinksiu labai ilgai ir neuzipdys visada, tai bus resursu svaistymas

As darau kazka panasaus i saskaita fakturos koregavima, is sandeliu pasirenku duomenis su checkbox ir salia irasau ju kieki, ir viska paskui siunciu ir DB ir kitam lange rodau, kas pasirinkta

130

(7 replies, posted in PHP)

A)Ne is masyvo, as moku.
B)Masyva tam naudoju, nes i viena kintamaji rasau keleta reiksmiu, nes naudoju checkbox.
C)Paskui noriu atvaziduoti pazymetus laukelius kitoje lenteleje(kitame lange). Noriu irasyti i atskirus laukelius, nes duomenis isvedinesiu i skirtingas lenteles eilutes

131

(7 replies, posted in PHP)

Noriu is masyvu irasyti duomenis i DB. Yra masyvai du, tai masyvas1 ir masyvas2, bei paprastas kintamasis sk.
Kaip man viska irasyti i DB? Reikia rasyti i skirtingus laukus. Suprantu, kad sk bus tik i viena irasyta, o kitus paliks tuscius. Bet man nesigauna, kazkur matyt praleidziu [], bet nerandu kur


if(isset($_POST['add']))

$masyvas1 = $_POST['masyvas1']; //Bendras
$masyvas2 = $_POST['masyvas2']; //Bendras
$sk = $_POST['sk']; //Bendras

$query =" INSERT INTO test
( masyvas1, masyvas2, sk )
VALUES
('$masyvas2', '$masyvas2', '$sk' )";

$rezultatai = mysql_query($query, $db_link);
echo ($rezultatai) ? "S&#235;kmingai" : "Duomenys ne&#225;d&#235;ti!";

....
<input type="textbox" name="sk" value="" size=3 />

<input type="checkbox" name="masyvas1[]" value="Bla" />

<input type="textbox" name="masyvas2[]" value="" size=3 />

implode() funkcija nelabai noriu naudoti, tai gal yra koki kitai budai

minde>Dekui ;)

Nenorejau kurti panasios temos, tai paklausiu cia.
Kaip suzinoti kiek is viso yra irasu duomenu bazeje?

$query = "Select COUNT(Preke) from sandelis";
$rezultatai = mysql_query($query, $db_link);
if ($rezultatai == false){
   die("Nepaimta rezultatu"); 
   }
echo $rezultatai; 

Dabar isveda sitaip: Resource id #5.
Bet kaip man gauti viena skaiciu 5. Nes man paskui su tuo skaiciu reiks atlikti skaiciavimus