dinamik formu örneği sayısı ayarlanır ve php kullanarak csv gibi tüm tasarruf

2 Cevap php

Im mevcut bir csv dosyası almak (biz bu bir şablon arayacağım) ve bir sayfa açın ve 1 ile 50 kez arasında 's veri ile düzenlenebilir metin alanları doldurmak için bir php komut dosyası üzerinde çalışırken, bir kez hangi (kullanıcı kaç karar verir) Kullanıcıların isteklerine düzenlenmiş, daha sonra tüm şablondan ayrı tek bir birleşik csv dosyası içine kaydedilebilir.

Ben bu işe gereken nasıl bir diyagram bir bağlantı dahil. Ben, bir csv açabilirsiniz i düzenleyebilir ve csv kaydedin, ama dinamik klonların kullanıcı ihtiyaçlarını numarasını alır ve kullanıcı bittiğinde bir şekilde birçok kez, tüm alanlar katılmış o şablonu işlemek için nasıl bilmiyorum Tek bir csv ve yeni bir dosyaya kaydedilir satırları gibi.

Diagram Link

Kırmızı vurgulanan alanı ile sorun yaşıyorsanız alan im.

Şablonlar yaklaşık 25 alanlar içeren, yani şablonu (klon) her örnek orijinal veri ile doldurulur 25 düzenlenebilir alanları olacaktır. Ben kendimi bu yapabilirim, ama dinamik özgün şablona klonlarının sayısını ayarlamak ve sonra birleştirmek için nasıl doğru yönde işaret gerek emin Im kez bitmiş bir tek csv dosyasındaki satır gibi klonları dedi.

2 Cevap

Siz diziler gibi alanları adlandırabilirsiniz:

<input type='text' name='field1[]'>
<input type='text' name='field2[]'>
...
<input type='text' name='field25[]'>

Sonra var ve kaç satır kaç tane alanlar takip:

<input type='hidden' name='rowcount' value='50'>
<input type='hidden' name='fieldcount' value='25'>

Sonra sunucu tarafında, $_POST['field1'] kolayca işleyebilirsiniz bir dizi olacak:

$fields = $_POST['fieldcount'];
$rows = $_POST['rowcount'];

$csv = array();
for($y = 0; $y < $rows; $y++) {
    $row = array();
    for($x = 0; $x < $count; $x++) {
        $row[$x] = $_POST['field' . ++$x];
    }
    $csv[] = $row;
}
// use fputcsv here.

Bu kaba bir tahmin, ama oradan alabilir ...

Tamamen yapmak için çalışıyoruz ama im tahmin gidiyor yanlış anlama olabilir.

Kullanıcı seçti klonlar ve düzenlenebilir form üzerinde döngü sayısını alın. Form / alanlarının adı olarak diziler kullanın

<?php foreach( range(1, NUMBER_OF_CLONES ) as $clone_number ): ?>
<form name="form[<?= $clone_number ?>]">
<input type="text" name="form[<?= $clone_number ?>]['name']">
</form>
<?php endif; ?>

Bu NUMBER_OF_CLONES formları gösterecektir.

NUMBER_OF_FORMS öğeler (formlar) ve csv yaratacak $ _POST ['form'] dizinin üzerinde bir dosya döngü için tüm kaydetmek için.

Im tamamen noktası im üzgünüm eksik varsa