Jump to content
Sign in to follow this  
hasmilia

Sorting Dlm Php

Recommended Posts

saya ada mslh...saya kena wat form yang kalu kita masukkn cthnye harga pastu dia akan sort yang paling rendah kat atas skali n sebaliknnye m'gunakan php...arap ada yg sudi m'bantu...tq

Share this post


Link to post
Share on other sites

saya kena bgnkn 1 sistem..dimana t'dpt 1 table tuk masukkan harga brg...row di dlm table 2 akan dimasukkan oleh user b'dsrkn brg yg ada...kiranye row 2 xtetap la...masalahnye skrg mcm mn saya nak sort harga t'sbt b'dsrkn nilai harga yg t'dpt dlm column harga....arap ada sesapa yg dpt m'bantu...

Share this post


Link to post
Share on other sites

sebenarnya aku dok usha lama dah soalan cik hasmilia, tapi penggunaan istilah yang tak betul mungkin memeningkan aku...

jadik aku buat andaian dulu, kalo betul baru aku teruskan, bleh?

________________DB_________________

| |

| ___________table____________ |

| |col1 row1|col2 row1|col3 row1 | |

| |col1 row2|col2 row2|col3 row3 | |

| |________|________|_________| |

|___________________________________|

ok, mengikut gambar rajah di atas, hasmilia ada 2 table, ada 2 row dan tetiba ada column harga. aku btol2 tak paham...

bleh tunjuk db anda dalam format dibawah

table_name1(col1,col2,...,coln)

table_name1 = nama table pertama

col1 = nama bagi column yang terdapat dalam table.. if ada 2 table, seperti yang aku paham, kene wat cenggini:

table_name1(col1,col2,...,coln)

table_name2(col1,col2,...,coln)

Edited by aku

Share this post


Link to post
Share on other sites

sbenarnye on page aje...xguna db pun..

k skrg ni user akan memasukkan nilai dlm textfield brape row yg dia nak dalam table 2 nanti...

cthnye user masukkan 4....so akan kuar 4 row dlm table harga 2...pastu user key in data dlm table 2...

cth input yg d masukkn user

table harga

bil | nama brg | harga

1. | sabun | 2.00

2. | berus gigi | 5.00

3. | syampu | 9.00

4. | biskut | 4.00

so bila user tekan button sort...ouput yg akan keluar ialah

bil | nama brg | harga

1. | sabun | 2.00

2. | biskut | 4.00

3. |berus gigi |5.00

4. | syampu | 9.00

arap 'aku' dapat phm apa yg saya maksudkn...tq

Share this post


Link to post
Share on other sites

peh.. on page tu.. what a challenge..heh :)

ok la.. aku try secara cincai2 dulu.. perbetulkan aku mana yang aku salah paham..

//code ntuk masukkan jumlah row

//code ntuk trima jumlah row
//dan code ntuk masukkan data

//code ntuk melakukan sort
//code ntuk masukkan jumlah row
print '<form method=post><input type=text name=row><input type=submit></form><br><br>';

//code ntuk trima jumlah row
//dan code ntuk masukkan data
if(isset($_POST['row']))
{

if($_POST['row'] < 0)
$_POST['row'] = 0;

print '<form method=post>';
for($i=0;$i<$_POST['row'];$i++)
{
print 'Bil '.($i+1). '<br>Nama Barang: <input type=text name=nama['.$i.']> 
Harga: <input type=text name=harga['.$i.']>';
}
print '<input type=submit name=Isi value=Isi></form>';

}

//code ntuk melakukan sort
if(isset($_POST['Isi']))
{
//bubble sort.. nanti la.. ade keje plak :P
}

memandangkan tak pakai db dan session... data hanya lagu selagi ko berada di page yang tersebut tanpa ubah2.. bila ko keluar jer dari page tu.. zuppp.. hilang... data camni org pakai db.

Share this post


Link to post
Share on other sites

what i mean is.. it's useless.. nak update laman web pon orang guna db.. tak pon update kekal iaitu ubah koding terus dari file yang kita buat..

how come org lain nak tengok apa yang kita buat kalau tak dsimpan kat memana?

Share this post


Link to post
Share on other sites

mudah sangat.. (if ko tak tahu db langsung, jadik payah balik la :P)

//ini table dan componentnye dalam db

table1(id,nama,harga)

//sini letak kod connect to db

$res = mysql_query('SELECT * FROM table1 ORDER BY harga');
$num = mysql_num_rows($res);

if($num > 0)
{
	for($i;$i<$num;$i++)
	{
	list($id,$nama,$harga) = mysql_fetch_row($res);
	print $id.$nama.$harga."<br>";
	}
}


ini aku buat tak sampai 5 minit :D (mungkin ada salah :P )

dan hanya ntuk retrieve data.. nak bawak masuk data.. nanti2 la :D

Share this post


Link to post
Share on other sites

situasi masalah sy camni, fisrt sy generate form berdasarkan jumlah input yang user nak.

sy guna <input="text" name="input1"> dan ia generate guna loop so name utk setiap input="text' sama iaitu name="input1" jugak.

drpd form tersebut sy nak wat sort la.. so camne sy nak transfer sume data yang user masukkan tu dalam bentuk array supaya mudah sy wat sorting..

minta bantuan sangat2..

Share this post


Link to post
Share on other sites

basically, kalo nk sort ada 3 cara :

1. SQL (database)

2. language (php etc)

3. browser (javascript)

kalo sql, simple je. contoh nye : SELECT * FROM Item ORDER BY Price

(yang Italic tu ganti dengan nama table sebenar; Bold tu keyword die, the actual sorting)

kalo kat language (php asp etc..) tu da diberikan cara2 nye (array ke ape ke).

kalo nk sort pki browser, bleh pki ni http://www.brainjar.com/dhtml/tablesort/demo.html

salam..

Edited by unexistance

Share this post


Link to post
Share on other sites

for($i=0;$i<$_POST['row'];$i++)
{
print 'Bil '.($i+1). '<br>Nama Barang: <input type=text name=nama['.$i.']>
Harga: <input type=text name=harga['.$i.']>';
}
ini dah bleh jadik array dah.. contoh: row = 2 dia akan kuar cenggini
Bil 1 <br>Nama Barang: <input type=text name=nama[0]>
Harga: <input type=text name=harga[0]>
Bil 2 <br>Nama Barang: <input type=text name=nama[1]>
Harga: <input type=text name=harga[1]>

musti u tak test gua nye script, kan?

--edit

//if hasmilia biasa ngan programming, element dalam array memang bermula ngan 0, so harap tak ubah..

Edited by aku

Share this post


Link to post
Share on other sites

ni algorithm untuk simple sorting (asalnya aku amik dari modul C programming).

IPB Image

k=1, assign initial value

pada k=2,

compare pada item i=1 dengan i=2. kalo item 1 lagi besar dari item 2, then exchange value. else, nothing

compare pada item i=2 dengan i=3. kalo item 2 lagi besar dari item 3, then exchange value. else, nothing.

...

sampai i=(total item - 1)

Credit image: modul C oleh Dr. Shaharuddin salleh-fakulti sains (matematik), utm.

Share this post


Link to post
Share on other sites

'aku' saya da cuba da connect to db...tapi data 2 dia xinsert kat dalam table yg da saya create...erm xtau lar napa...

$db="db";

$reply1=$_POST['reply1'];

$reply2=$_POST['reply2'];

$reply3=$_POST['reply3'];

$reply4=$_POST['reply4'];

$link=mysql_connect("localhost");

if(! $link)

die("Couldn't connect to MySQL");

mysql_select_db($db, $link)

or die("Couldn't open $db:".mysql_error());

mysql_query("INSERT INTO tender(nama,harga,miggu,catatan) VALUES

('$reply1','$reply2','$reply3','$reply4')");

mysql_close($link);

Edited by hasmilia

Share this post


Link to post
Share on other sites

klu tak keluar error camana dia tak masuk heheheh ok jap

$link=mysql_connect("localhost");

if(! $link)

die("Couldn't connect to MySQL");

mysql_select_db($db, $link)

or die("Couldn't open $db:".mysql_error());

mysql_query("INSERT INTO tender(nama,harga,miggu,catatan) VALUES

('$reply1','$reply2','$reply3','$reply4')");

mysql_close($link);

try ni plak

$link=mysql_connect("localhost");

if(! $link)

die("Couldn't connect to MySQL");

mysql_select_db($db, $link)

or die("Couldn't open $db:".mysql_error());

$result = mysql_query("INSERT INTO tender(nama,harga,miggu,catatan) VALUES

('$reply1','$reply2','$reply3','$reply4')");

if (mysql_affected_rows() == 1) {

echo "DATA MASUK";

} else {

echo "DATA TAK MASUK";

}

ni test tengok data masuk tak sebaiknya lepas operasi INSERT/UPDATE/DELETE pada db server gunakan mysql_affected_rows() utk check mysql_query dah jalankan operasi ke tak (sebab INSERT/UPDATE/DELETE ni akan "affect" sekurang2nya 1 row dalam db...

Share this post


Link to post
Share on other sites

hehehe data tak masuk aaa ok check balik query tu ; sebaiknya masukkan

"INSERT INTO tender(nama,harga,miggu,catatan) VALUES

('$reply1','$reply2','$reply3','$reply4')" ke dalam satu variable macam ni

$query = "INSERT INTO tender(nama,harga,miggu,catatan) VALUES
('$reply1','$reply2','$reply3','$reply4')";

$result = mysql_query($query) or die("Mysql error : " . mysql_error());

// buat ni utk display ke browser $query tadi (utk debugging process) bila dah //ok buang je 

echo $query;

$query tu ko paste kat sini

antara benda nak check dalam masalah ko ni

1) pastikan mysql_connect ni dapat value host/user/password yang betul.

2) pastikan mysql_select_db("nama database") adalah betul, kalau tak jumpa database camana nak masukkan data kan

3) $query tu atau pun sql statement ko tu pastikan takde error, sebaiknya ko biasakan diri dengan mysql commands kat terminal atau msdos prompt, atau ko carik phpMyAdmin ke utk test query ko tu jalanke tak ... check gak database camana table structure semua sama ke dengan query ..

Share this post


Link to post
Share on other sites

ermm saya wat db da..tapi masalah yg t'jadi ialah di xleh nak save sbb nama textfield dalam table 2 sama...ni koding yg saya da wat tuk create table guna loop...

<?php

$submit = $_POST["submit"];

if($submit==Generate")

{

if(isset($_POST["BilSebutHargaDiterima]))

{ // create the query

$row = $_POST["BilSebutHargaDiterima"];

$bil=1;

echo "<table align=center' border ='2' bgcolor='green'>";

echo "<tr><td>Bil</td><td>Nama Pemborong/Syarikat </td><td>Jumlah Sebut Harga </td><td>Tempoh Siap Kerja </td><td>Catatan </td></tr>";

for ( $counter = 1; $counter <= $row; $counter++)

{

echo "<tr>";

echo "<td>$bil/$row </td>";

echo "<td><input type='text' name='reply1['.$counter.]' value=''

size='40'></td>";

echo "<td><input type='text' name='reply2['.$counter.']' value=' size='40'></td>";

echo "<td><input type='text' name='reply3['.$counter.]' value='' size='40'></td>";

echo "<td><input type='text' name='reply4['.$counter.']' value='' size='40'></td>";

echo "</tr>";

$bil++;

}

echo "</table>";

}

}

?>

table da jadi tapi nak masukkan ke dlm db problem sbb nama dia sm so data redundant...so ada x sesape yg leh bantu saya selesaikan mslh ni..

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...