Forum

Bildirimler
Hepsini Temizle

php, java

9 Yazılar
2 Üyeler
0 Likes
1,387 Görüntüleme
(@ENSARDATLI)
Gönderiler: 25
Eminent Member
Konu başlatıcı
 

birden fazla ürün ekliyebilecegim teklif formu hazırlıyorum. sorunum şu:

add row ile buton tıkladıgımda bir satır açıyorum. aynı sayfada dinamik bir select box mevcut. seçilen sadece ilk satıra veri geliyor yeni bir satır acdıgımda tekrar select box ile secim yaptıgımda seçilen veri 2.satıra degilde hep aynı satıra yani 1. satıra geliyor. yapmak istedigim her satır ekledigimde select box ile ekledigim veri yeni satıra gelsin eskiside kalsın.

Yardımcı olursanız çok minnettar olurum. ilgilenirseniz gerekli dokuman ve detayları aktarabilirim.

teşekkür ederim iyi çalışmalar. 

 
Gönderildi : 04/08/2014 15:09

(@AkinDemircan)
Gönderiler: 117
Estimable Member
 

daha fazla detay lazım

 

select box isimleri nelerdir hangi isimde post ediliyor. hepsi aynı isim ise isim sonuna [] ekleyip array şeklinde gönderebilirsiniz. 

 
Gönderildi : 05/08/2014 11:42

(@ENSARDATLI)
Gönderiler: 25
Eminent Member
Konu başlatıcı
 

sayfa bu. baktıgınızda çok kolay anlıyacagınız bir yapısı var yardımcı olursanız sevinirim. teşekkür ederim. 

http://www.atilan.com.tr/teklif/2.php

 

 
Gönderildi : 05/08/2014 12:00

(@AkinDemircan)
Gönderiler: 117
Estimable Member
 

form action sayfasında verileri hangi şekilde alıyorsunuz iligili kodları buraya yapıştırır mısınız?

 
Gönderildi : 05/08/2014 12:24

(@ENSARDATLI)
Gönderiler: 25
Eminent Member
Konu başlatıcı
 

kodlar

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <title>www.atilan.com.tr</title>

<script type="text/javascript" src="scripts/jquery.min.js"></script>

<script type="text/javascript" src="scripts/jquery.searchabledropdown-1.0.8.min.js"></script>

<script type="text/javascript">SyntaxHighlighter.all();</script>

<?

include("db_baglan.php");

$tref =mysql_real_escape_string($_POST["ref"]);

?>

<script type='text/javascript'>

function ensar (select) {

document.getElementById('txtRow1').value = select.options[select.selectedIndex].text;

document.getElementById('numrow3').value = select.options[select.selectedIndex].value;

        }

$(window).load(function(){

$('#test input:radio').change(function() {

    var selectedVal = $("#test input:radio:checked").val();

    if(1 == selectedVal){

        var mavili = '<? 

echo "<select onchange=ensar(this) id=myselect name=mal style=width:275px;>";

$sorgula = mysql_query("SELECT * FROM urun WHERE marka='mavili'");

while($sor = mysql_fetch_array($sorgula)) {

$mit=$sor["fiyat"];

$modelno=$sor["mno"];

$model=$sor["aciklama"];

echo "<option value=$mit text=$modelno $model>$modelno $model</option>";

}

echo "</select>";

?>';

        $('#myselect').remove();

        $('#selectList').append(mavili);

    }else if(2 == selectedVal){

        var dedektomat = '<? 

echo "<select onchange=ensar(this) id=myselect name=mal style=width:275px;>";

$sorgula = mysql_query("SELECT * FROM urun WHERE marka='dedektomat'");

while($sor = mysql_fetch_array($sorgula)) {

$model=$sor["aciklama"];

$mit=$sor["fiyat"];

echo "<option value=$mit text=$model>$model</option>";

}

echo "</select>"?>';

        $('#myselect').remove();

        $('#selectList').append(dedektomat);

    }else if(3 == selectedVal){

        var arsel = '<? 

echo "<select onchange=ensar(this) id=myselect name=mal style=width:275px;>";

$sorgula = mysql_query("SELECT * FROM urun WHERE marka='arsel'");

while($sor = mysql_fetch_array($sorgula)) {

$modelno=$sor["aciklama"];

$mit=$sor["id"];

echo "<option value=$mit>$mit</option>";

}

echo "</select>"?>';

        $('#myselect').remove();

        $('#selectList').append(arsel);

    }else if(4 == selectedVal){

        var diger = '<? 

echo "<select onchange=ensar(this) id=myselect name=mal style=width:275px;>";

$sorgula = mysql_query("SELECT * FROM urun");

while($sor = mysql_fetch_array($sorgula)) {

$modelno=$sor["aciklama"];

$mit=$sor["id"];

echo "<option value=$mit>$mit</option>";

}

echo "</select>"?>';

        $('#myselect').remove();

        $('#selectList').append(diger);

    }

//arama

$(document).ready(function() {

$("#myselect").searchable();

});

$(document).ready(function() {

$("#value").html($("#myselect :selected").text() + " (VALUE: " + $("#myselect").val() + ")");

$("#myselect").change(function(){

$("#value").html(this.options[this.selectedIndex].text + " (VALUE: " + this.value + ")");

});

});

function modifySelect() {

$("#myselect").get(0).selectedIndex = 5;

}

function appendSelectOption(str) {

$("#myselect").append("<option value=\"" + str + "\">" + str + "</option>");

}

function applyOptions() {

$("#myselect").searchable({

maxListSize: $("#maxListSize").val(),

maxMultiMatch: $("#maxMultiMatch").val(),

latency: $("#latency").val(),

exactMatch: $("#exactMatch").get(0).checked,

wildcards: $("#wildcards").get(0).checked,

ignoreCase: $("#ignoreCase").get(0).checked

});

}

//arama bitti

});

});

</script>

<style type="text/css">

body {

font-family: sans-serif;

font-size: 13px;

}

h1 {

font-size: 20px;

}

h2 {

font-size: 16px;

margin: 50px 0 8px 0;

}

h3 {

font-size: 14px;

}

</style>

</head>

<style>

input.abc

{

border: none;

text-align: center;

}

textarea.ac

{

border: none;

resize: none;

font-size:12px

}

textarea.def

{

resize: none;

font-size:12px

}

td.a

{

border-style: solid;

border-width: 1px;

font-size: 12px;

font-weight:normal;

}

p.baslik

{

    font-family: "Times New Roman", Times, serif;

font-size: 26px;

text-align: center;

font-weight:bold;

}

p.normal

{

    font-family: "Times New Roman", Times, serif;

font-size: 16px;

text-align: center;

font-weight:normal;

}

fieldset{

width: 810px;

}

input[type="number"] {

   width:80px;

   text-align: right;

}

input[type=number]::-webkit-inner-spin-button, 

input[type=number]::-webkit-outer-spin-button { 

  -webkit-appearance: none; 

  margin: 0; 

}

</style>

<script type="text/javascript">

// Last updated 2006-02-21

function addRowToTable()

{

  var tbl = document.getElementById('tblSample');

  var lastRow = tbl.rows.length;

  // if there's no header row in the table, then iteration = lastRow + 1

  var iteration = lastRow;

  var row = tbl.insertRow(lastRow);

  

  // left cell

  var cellLeft = row.insertCell(0);

  var textNode = document.createTextNode(iteration);

  cellLeft.appendChild(textNode);

  

   // right cell

  var cellRight = row.insertCell(1);

  var el = document.createElement('input');

  el.type = 'select';

  el.name = 'txtRow' + iteration;

  el.id = 'txtRow' + iteration;

  el.size = 70;

  

  el.onkeypress = keyPressTest;

  cellRight.appendChild(el);

  

  // right cell

  var cellRight2 = row.insertCell(2);

  var bel = document.createElement('input');

  bel.type = 'number';

  bel.name = 'numRow2' + iteration;

  bel.id = 'numrow2' + iteration;

  bel.size = 10; 

   

  cellRight2.appendChild(bel);

  

  // right cell

  var cellRight3 = row.insertCell(2);

  var cel = document.createElement('input');

  cel.type = 'number';

  cel.name = 'numRow3' + iteration;

  cel.id = 'numrow3' + iteration;

  cel.size = 10; 

  

  cellRight3.appendChild(cel);

  

  // right cell

  var cellRight4 = row.insertCell(2);

  var del = document.createElement('input');

  del.type = 'number';

  del.name = 'numRow4' + iteration;

  del.id = 'numrow4' + iteration;

  del.size = 10;  

  

  cellRight4.appendChild(del);

  

  // right cell

  var cellRight5 = row.insertCell(2);

  var fel = document.createElement('input');

  fel.type = 'number';

  fel.name = 'numRow5' + iteration;

  fel.id = 'numrow5' + iteration;

  fel.size = 15; 

  

  cellRight5.appendChild(fel);

  

  // select cell

  var cellRightSel = row.insertCell(3);

  var sel = document.createElement('select');

  sel.name = 'selRow' + iteration;

  sel.options[0] = new Option('adet', 'adet');

  sel.options[1] = new Option('metre', 'metre');

  sel.options[2] = new Option('kilo', 'kilo');

  cellRightSel.appendChild(sel);

}

  

//onchange hesap

function carp() { 

document.getElementById('numrow4').value = (document.getElementById('numrow3').value-((document.getElementById('numrow3').value*document.getElementById('no3').value)/100)).toFixed(2)

document.getElementById('numrow5').value = (document.getElementById('numrow2').value*document.getElementById('numrow4').value).toFixed(2)

}

//onchange hesap bitti

function keyPressTest(e, obj)

{

  var validateChkb = document.getElementById('chkValidateOnKeyPress');

  if (validateChkb.checked) {

    var displayObj = document.getElementById('spanOutput');

    var key;

    if(window.event) {

      key = window.event.keyCode; 

    }

    else if(e.which) {

      key = e.which;

    }

    var objId;

    if (obj != null) {

      objId = obj.id;

    } else {

      objId = this.id;

    }

    displayObj.innerHTML = objId + ' : ' + String.fromCharCode(key);

  }

}

function removeRowFromTable()

{

  var tbl = document.getElementById('tblSample');

  var lastRow = tbl.rows.length;

  if (lastRow > 2) tbl.deleteRow(lastRow - 1);

}

function openInNewWindow(frm)

{

  // open a blank window

  var aWindow = window.open('', 'TableAddRowNewWindow',

   'scrollbars=yes,menubar=yes,resizable=yes,toolbar=no,width=400,height=400');

   

  // set the target to the blank window

  frm.target = 'TableAddRowNewWindow';

  

  // submit

  frm.submit();

}

function validateRow(frm)

{

  var chkb = document.getElementById('chkValidate');

  if (chkb.checked) {

    var tbl = document.getElementById('tblSample');

    var lastRow = tbl.rows.length - 1;

    var i;

    for (i=1; i<=lastRow; i++) {

      var aRow = document.getElementById('txtRow' + i);

      if (aRow.value.length <= 0) {

        alert('Row ' + i + ' is empty');

        return;

      }

    }

  }

  openInNewWindow(frm);

}

</script> 

<body>

<table align="center" border="0">

<tr>

<td align="center">

<h3><b><? echo"$tref";?>No'lu Teklif için Malzeme Seçimi</b></h3>

</td>

</tr>

<tr>

<td align="center">

  <div id="test">

      <input type="radio" name="category" value="1" />Mavili 

      <input type="radio" name="category" value="2" />Dedektomat

      <input type="radio" name="category" value="3" />Arsel

      <input type="radio" name="category" value="4" />Diğer

</div>

<div id="selectList"></div>

<input onkeyup="carp()" id="no3" type="number" value="60" />

</td>

</tr>

</table>

<center><form action="Eliz Sakuçoğlu.php" method="get">

<p>

<input type="button" value="Add" onclick="addRowToTable();" />

<input type="button" value="ekle" onclick="javascript: submitform()" />

<input type="button" value="Remove" onclick="removeRowFromTable();" />

<input type="button" value="Submit" onclick="validateRow(this.form);" />

</p>

</center>

<table border="1" id="tblSample" align="center">

  <tr>

    <td class='a'>

Sıra no

</td>

<td class='a'>

Açıklama

</td>

<td class='a' width='5'>

Miktar

</td>

<td class='a' width='10'>

Birim

</td>

<td class='a' width='70'>

Birim Fiyat

</td>

<td class='a' width='70'>

İsk. B.Fiyat

</td>

<td class='a' width='70'>

Tutar

</td>

  </tr>

  <tr>

    <td>

<span name="sno">1</span>

</td>

<td>

<input type="text" name="txtRow1" id="txtRow1" size="70" value=""/>

</td>

<td>

<input onkeyup="carp()" name="numrow2" id="numrow2" type="number" value="" placeholder="Miktar girin..">

</td>

<td>

<select name="selRow0" style="width:62px;">

<option value="Adet">adet</option>

<option value="Metre">metre</option>

<option value="Kilo">kilo</option>

</select>

</td>

  <td>

<input name="numrow3" id="numrow3" type="number" value="" readonly>

</td>

<td>

<input name="numrow4" id="numrow4" type="number" value="0" readonly>

</td>

<td>

<input name="numrow5" id="numrow5" type="number" value="0" readonly>

</td>

  </tr>

</table>

</form>

</body>

</html>

<?php

header('Content-Type: text/html; charset=utf-8');

$tref = mysql_real_escape_string($_POST["ref"]);

$thaz = mysql_real_escape_string($_POST["haz"]);

$tfirma = mysql_real_escape_string($_POST["frm"]);

$tilgili = mysql_real_escape_string($_POST["ilgi"]);

$tproje = mysql_real_escape_string($_POST["prj"]);

$tdoviz = mysql_real_escape_string($_POST["dovizz"]);

$tteslimat = mysql_real_escape_string($_POST["teslim"]);

$todeme = mysql_real_escape_string($_POST["ode"]);

if($tref=="" or $tfirma=="" or $tproje=="" or $tilgili=="" or $tdoviz=="" or $tteslimat=="" or $todeme=="")

{echo "";}

else {

$ekle=mysql_query("INSERT INTO teklif (ref_no,hazirlayan,firma,ilgili,proje,doviz,teslimat,odeme,tarih) values ('$tref','$thaz','$tfirma','$tilgili','$tproje','$tdoviz','$tteslimat','$todeme',now())");

if($ekle){

echo "<script>setInterval(function(){kapat()}, 3000); 

function ac() 

document.getElementById('acilacak_div').style.display = 'block';     

function kapat() 

document.getElementById('acilacak_div').style.display = 'none'; 

</script><div id='acilacak_div' name='acilacak_div' style='display:block;'><center><br><br><br><font face='arial' size='5' color='#3591af'><b>Teklif kaydedilmiştir</b></font></center></div>";

}

if (mysql_error()) { print "Database ERROR: $sql " . mysql_error(); }

}

mysql_close();

ob_end_flush();

?>

 

 
Gönderildi : 05/08/2014 12:30

(@AkinDemircan)
Gönderiler: 117
Estimable Member
 

siz form sayfasının kodlarını gönder mişiniz verileri yolladığınız sayfa Eliz Sakuçoğlu.php olarak gözüküyor bu dosyadaki sadece veri alma kısmıyla ilgili kodları merak ettim

 
Gönderildi : 05/08/2014 12:55

(@ENSARDATLI)
Gönderiler: 25
Eminent Member
Konu başlatıcı
 

submitin bağlı oldugu sayfayı diyorsunuz. onu daha olusturmadım. okolay. benim sıkıntım ufak bi teferruat. 

misal marka secimini yaptım o markaya ait ürünler select box a geldi. ürünü secdim. asagıdaki tabloda ki ilk satıra ürün ismi fiyatı iskontolu fiyatı yazıldı. 

Buraya kadar herşey çalışıyor. add butonu ile yeni bir satır açtıgımda yeni secdigim ürün 2. satıra gelecegine 1. satırı degiştiriyor. ben her ürünü yeni bir satıra giriş yaptırmak istiyorum. yani çoklu ürün girişi. yardımlarınız için şimdiden teşekkür ederim. 

 
Gönderildi : 05/08/2014 13:02

(@AkinDemircan)
Gönderiler: 117
Estimable Member
 

Ben konuyu yanlış anladım öyleyse konu tamamiyle java script ile ilgili.

document.getElementById('txtRow1').value = select.options[select.selectedIndex].text;
document.getElementById('numrow3').value = select.options[select.selectedIndex].value; 

 

 Yukarıda kodlara baktığınızda seçimin sadece txtRow1 ve numrow3 elementlere bağlı olduğunu görüyorum  bu durumda ilk satırın değişmesi normaldir. Java script uzmanı değilim ancak benim fikrim iki head tarafında bulunan <script> gruplarını birleştirip "iteration" değerini 

document.getElementById('txtRow1' + iteration).value = select.options[select.selectedIndex].text;
document.getElementById('numrow3' + iteration).value = select.options[select.selectedIndex].value; 

 

 şeklinde kullanmanız gerekmektedir. bu durumda addRowToTable fonksiyonundan her çağrıldığında dışarıya veri döndürmelisiniz. Ancak dediğim gibi uzman olmadığımdan dolayı tam olarak ne yapılabilir bilmiyorum ben deneme yanılma yöntemiyle çözmeye çalışırdım 🙂

 
Gönderildi : 05/08/2014 17:40

(@ENSARDATLI)
Gönderiler: 25
Eminent Member
Konu başlatıcı
 

bunu denedim olmadı. nasıl yapıcam bilemiyorum. neyse nasip teşekkür ederim ilginiz için.

 
Gönderildi : 05/08/2014 17:52

Paylaş: