<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[בניית טופס רכישה לפי אותיות]]></title><description><![CDATA[<p dir="auto">אני בונה טופס בחירת אותיות, לפי שם, יש לי מאגר של אותיות, ואנשים בוחרים אותיות לפי השם שלהם, למשל 'דוד' אז יוריד לי 2 מהסך של אות ד', ו-1 מהסך של ו'.<br />
אשמח לקבל רעיון איך לבנות את זה.<br />
האם לקבל את המחרוזת ולבצע חיפוש על כל האותיות אם קיימות במחרוזת וכמה, ואז לבצע חישוב.<br />
נראה לי ארוך מידי, או שהדרך היחידה לעשות שדה קלט לכל אות בנפרד.<br />
אשמח לרעיון. או קוד. תודהה</p>
]]></description><link>https://tchumim.com/topic/6892/בניית-טופס-רכישה-לפי-אותיות</link><generator>RSS for Node</generator><lastBuildDate>Thu, 14 May 2026 19:04:47 GMT</lastBuildDate><atom:link href="https://tchumim.com/topic/6892.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 31 Oct 2019 12:05:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Fri, 01 Nov 2019 10:20:35 GMT]]></title><description><![CDATA[<p dir="auto">משונה, לא שיניתי כלום חוץ מתיעוד (console.log) ודאגה שיהיה פלט במקרה של שגיאה בהupdate.</p>
]]></description><link>https://tchumim.com/post/80683</link><guid isPermaLink="true">https://tchumim.com/post/80683</guid><dc:creator><![CDATA[dovid]]></dc:creator><pubDate>Fri, 01 Nov 2019 10:20:35 GMT</pubDate></item><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Fri, 01 Nov 2019 09:23:52 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dovid">@<bdi>dovid</bdi></a> אמר ב<a href="/post/80677">בניית טופס רכישה לפי אותיות</a>:</p>
<blockquote>
<p dir="auto">export function postData (word) {                                                                                                                                                                               var lettersToSub = {};                                                                                                                                                                                                                                                                                                                                                            for (var l of word)                                                                                                                                                                                  lettersToSub[l] = 1 + (lettersToSub[l] || 0);                                                                                                                                                                                                                                                                                                                                                            for (var ot in lettersToSub) {                                                                                                                                                                             	  console.log(ot, lettersToSub[ot]); 	                                                                                                                                                                                  wixData.query("ot")                                                                                                                                                                                     .contains('ot', ot)                                                                                                                                                                                     .find()                                                                                                                                                                                     .then((results) =&gt; {                                                                                                                                                                                        let itemupdate = results.items[0].ms - lettersToSub[ot];                                                                                                                                                                                                                                                                                                                                                                     if (itemupdate &gt;= 0) {                                                                                                                                                                                           let item = results.items[0];                                                                                                                                                                                           <a href="http://item.ms" target="_blank" rel="noopener noreferrer nofollow ugc">item.ms</a> = itemupdate;                                                                                                                                                                                           return wixData.update("ot", item)                                                                                                                                                                                                         .then(x =&gt; console.log(x[0].ms, x[0].ot));                                                                                                                                                                                        } else console.log("נגמר האות, חפש אות אחרת או אות אקראית");                                                                                                                                                                                      }).catch(console.log);                                                                                                                                                                               }                                                                                                                                                                                                                                                                                                                                                            return;                                                                                                                                                                            }</p>
</blockquote>
<p dir="auto">ואוו!!!<br />
עובד נהדר!<br />
מה סידרת לא תפסתי.</p>
]]></description><link>https://tchumim.com/post/80678</link><guid isPermaLink="true">https://tchumim.com/post/80678</guid><dc:creator><![CDATA[אבי 203]]></dc:creator><pubDate>Fri, 01 Nov 2019 09:23:52 GMT</pubDate></item><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Fri, 01 Nov 2019 09:20:05 GMT]]></title><description><![CDATA[<p dir="auto">תנסה את הקוד הבא, ואם זה נכשל תביא את הפלט של הקונסול.</p>
<pre><code>export function postData (word) {
   var lettersToSub = {};
 
   for (var l of word)
      lettersToSub[l] = 1 + (lettersToSub[l] || 0);
 
   for (var ot in lettersToSub) {
 	  console.log(ot, lettersToSub[ot]); 	
      wixData.query("ot")
         .contains('ot', ot)
         .find()
         .then((results) =&gt; {
            let itemupdate = results.items[0].ms - lettersToSub[ot];
 
            if (itemupdate &gt;= 0) {
               let item = results.items[0];
               item.ms = itemupdate;
               return wixData.update("ot", item)
                             .then(x =&gt; console.log(x[0].ms, x[0].ot));
            } else console.log("נגמר האות, חפש אות אחרת או אות אקראית");
          }).catch(console.log);
   }
 
   return;
}

</code></pre>
]]></description><link>https://tchumim.com/post/80677</link><guid isPermaLink="true">https://tchumim.com/post/80677</guid><dc:creator><![CDATA[dovid]]></dc:creator><pubDate>Fri, 01 Nov 2019 09:20:05 GMT</pubDate></item><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Fri, 01 Nov 2019 09:05:18 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dovid">@<bdi>dovid</bdi></a> <a class="plugin-mentions-user plugin-mentions-a" href="/user/yossiz">@<bdi>yossiz</bdi></a> <a class="plugin-mentions-user plugin-mentions-a" href="/user/magicode">@<bdi>magicode</bdi></a><br />
זה עדין מוריד רק אחד.<br />
נראה שהוא עדין מבצע את הלולאה של האותיות ואז העדכון. כנראה גם ללא צבירה. הוא מוריד לכל אות אחד.<br />
תודה על העזרה</p>
]]></description><link>https://tchumim.com/post/80639</link><guid isPermaLink="true">https://tchumim.com/post/80639</guid><dc:creator><![CDATA[אבי 203]]></dc:creator><pubDate>Fri, 01 Nov 2019 09:05:18 GMT</pubDate></item><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Thu, 31 Oct 2019 22:06:21 GMT]]></title><description><![CDATA[<p dir="auto">אוקי הבעיה פשוטה.<br />
בלולאה שעוברת על הלולאות יש קריאה לDB שקוראת מה הסכום הנוכחי.<br />
שמים את הסכום במשתנה - 1, ומעדכנים.<br />
כעת העדכון לא מיידי, כך ששתי הקריאות לא' נעשים לפני העדכון הראשון.<br />
יש כמה דרכים להתמודד עם זה, לי נראה הכי יעיל לרכז לפני העדכון את מספר האותיות שיש להסיר:</p>
<pre><code>
export function postData (word) {
   var lettersToSub = {};

   for (var l of word)
      lettersToSub[l] = 1 + (lettersToSub[l] || 0);

   for (var ot in lettersToSub) {

      wixData.query("ot")
         .contains('ot', ot)
         .find()
         .then((results) =&gt; {
            let itemupdate = results.items[0].ms - lettersToSub[ot];

            if (itemupdate &gt;= 0) {
               let item = results.items[0];
               item.ms = itemupdate;
               wixData.update("ot", item);
            } else console.log("נגמר האות, חפש אות אחרת או אות אקראית");

         }).catch(console.log);
   }

   return;
}
</code></pre>
]]></description><link>https://tchumim.com/post/80631</link><guid isPermaLink="true">https://tchumim.com/post/80631</guid><dc:creator><![CDATA[dovid]]></dc:creator><pubDate>Thu, 31 Oct 2019 22:06:21 GMT</pubDate></item><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Thu, 31 Oct 2019 21:51:51 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/%D7%90%D7%91%D7%99-203">@<bdi>אבי-203</bdi></a> אמר ב<a href="/post/80604">בניית טופס רכישה לפי אותיות</a>:</p>
<p dir="auto">מצורף. תודה.<br />
לשם 'אבא'</p>
<blockquote>
<p dir="auto">}</p>
</blockquote>
<p dir="auto">![alt text](ima<img src="/assets/uploads/files/1572558641186-%D7%91%D7%99%D7%90%D7%95%D7%A8-2019-10-31-235012.png" alt="ביאור 2019-10-31 235012.png" class=" img-fluid img-markdown" /> ge url)</p>
<pre><code>
export function postData(word){
	for(var l of word){
		console.log(l);
 wixData.query("ot")
 .contains('ot', l)
  .find()
    .then( (results) =&gt; {
      let itemupdate = results.items[0].ms - 1;
	  console.log(itemupdate);
	  if(itemupdate &gt; 0) {
        let item = results.items[0];
        item.ms = itemupdate;
	   console.log(item);
        wixData.update("ot", item);
      } else {
		console.log("נגמר האות, חפש אות אחרת או אות אקראית");
      }
    } )
    .catch( (err) =&gt; {
      let errorMsg = err;
    } );

    }
	return;
}
</code></pre>
]]></description><link>https://tchumim.com/post/80627</link><guid isPermaLink="true">https://tchumim.com/post/80627</guid><dc:creator><![CDATA[אבי 203]]></dc:creator><pubDate>Thu, 31 Oct 2019 21:51:51 GMT</pubDate></item><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Thu, 31 Oct 2019 21:45:18 GMT]]></title><description><![CDATA[<p dir="auto">אני מנחש בעיית מקביליות אבל הייתי מעדיף לצפות בפלט של הקונסול, יש לך אותו?</p>
]]></description><link>https://tchumim.com/post/80619</link><guid isPermaLink="true">https://tchumim.com/post/80619</guid><dc:creator><![CDATA[dovid]]></dc:creator><pubDate>Thu, 31 Oct 2019 21:45:18 GMT</pubDate></item><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Thu, 31 Oct 2019 21:22:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dovid">@<bdi>dovid</bdi></a> <a class="plugin-mentions-user plugin-mentions-a" href="/user/yossiz">@<bdi>yossiz</bdi></a><br />
מתקדם ומתקשה. תודה.<br />
שאלה בהקדים.<br />
בשביל לבצע שינוי בשדה מסויים אני חייב פילטר או אפשר להפנות עם תנאי במקום query<br />
כלומר שמתי את האותיות במסד נתונים, עם העמודות הבאות: שם האות, וכמות [ועוד אחד עותק של הכמות שלא ישתנה]<br />
אני חייב לבצע query שיסנן את הטבלה התואמת לאות שצווינה, ואז יוריד מהכמות אחד, או אפשר לכתוב ישר הורד אחד מהכמות של האות המתאימה.<br />
מקווה שהצלחתי להסביר.</p>
<p dir="auto">וגם זה משום מה לא עובד לי, הוא מוריד רק 1 גם אם אותה האות מוזכרת פעמים, למשל 'אבא' הוא מוריד 1 א' ואחד ב'. איפה טעיתי?</p>
<pre><code>

function subLetters(word){

	for(var l of word){
		console.log(l);
 wixData.query("ot")
 .contains('ot', l)
  .find()
    .then( (results) =&gt; {
      let itemupdate = results.items[0].ms - 1;
	  console.log(itemupdate);
        let item = results.items[0];
        item.ms = itemupdate;
	   console.log(item);
        wixData.update("ot", item);
      }
    } )
    .catch( (err) =&gt; {
      let errorMsg = err;
    } );

    }
}
</code></pre>
]]></description><link>https://tchumim.com/post/80604</link><guid isPermaLink="true">https://tchumim.com/post/80604</guid><dc:creator><![CDATA[אבי 203]]></dc:creator><pubDate>Thu, 31 Oct 2019 21:22:07 GMT</pubDate></item><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Thu, 31 Oct 2019 20:52:52 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/yossiz">@<bdi>yossiz</bdi></a> אמר ב<a href="/post/80575">בניית טופס רכישה לפי אותיות</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dovid">@<bdi>dovid</bdi></a> לפרוס את כל התורה כולה לתוך מערך נשמע לא כל כך יעיל. אבל פעם אחת למי איכפת...</p>
</blockquote>
<p dir="auto">לא התכוונתי שיעשה את זה ככה לכל התורה, זה רק המחשה להמשך.<br />
בשביל לעשות בפועל צריך לקרוא קובץ עם זרם ולעדכן את האובייקט.<br />
(כנ"ל בקשר לייעול של for על הforEach ברור שfor אמור להיות מהר יותר (לא בדקתי את המ"מ) אבל לא חלמתי לעשות את זה בפועל לא בזה ולא בזה).</p>
]]></description><link>https://tchumim.com/post/80595</link><guid isPermaLink="true">https://tchumim.com/post/80595</guid><dc:creator><![CDATA[dovid]]></dc:creator><pubDate>Thu, 31 Oct 2019 20:52:52 GMT</pubDate></item><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Thu, 31 Oct 2019 18:47:19 GMT]]></title><description><![CDATA[<p dir="auto">קודם כל תודה חברים.<br />
מה הסיבה שאתם ממליצים על אובייקט? וגם להכניס את כל הטקסט של התורה?<br />
אני חשבתי על כיון בניתי במסד נתונים טבלה עם כל המידע לכל אות כמה יש אותה בתורה. ואז אם 'דוד' השם שנקנה אז ירד מהאותיות הללו, בלי כל התייחסות מדוייקת לאיפה האות ממוקמת בתורה.</p>
<p dir="auto">מה נעשה עם היתרות? ת. אני עושה את זה שיראו כמה נשאר מכל אות, ואז שיתאימו את עצמם, בנוסף יהיה אופציה אות אקראית  ואז אקח ממי שנשאר הכי הרבה..</p>
<p dir="auto">נ.ב הנה הפירוט המדוייק (מצאתי באיזה מקום..)<br />
א	27057<br />
ב	16344<br />
ג	2109<br />
ד	7032<br />
ה	28052<br />
ו	30513<br />
ז	2198<br />
ח	7187<br />
ט	1802<br />
י	31530<br />
כ+ך	11940<br />
ל	21570<br />
מ+ם	25095<br />
נ+ן	14141<br />
ס	1833<br />
ע	11247<br />
פ+ף	4809<br />
צ+ץ	3982<br />
ק	4694<br />
ר	18125<br />
ש	15596<br />
ת	17949<br />
סכ"ה - 304805</p>
]]></description><link>https://tchumim.com/post/80578</link><guid isPermaLink="true">https://tchumim.com/post/80578</guid><dc:creator><![CDATA[אבי 203]]></dc:creator><pubDate>Thu, 31 Oct 2019 18:47:19 GMT</pubDate></item><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Thu, 31 Oct 2019 19:02:52 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/%D7%90%D7%91%D7%99-203">@<bdi>אבי-203</bdi></a> תזכור להוריד אותיות לא חוקיות מהקלט (או שתדאג שהם לא יופיעו באוביקט <code>allLeters</code>), לדוגמה רווחים... (אולי תקבץ ביחד אותיות סופיות ביחד עם האות הלא-סופית)<br />
<a class="plugin-mentions-user plugin-mentions-a" href="/user/dovid">@<bdi>dovid</bdi></a> לפרוס את כל התורה כולה לתוך מערך נשמע לא כל כך יעיל. אבל פעם אחת למי איכפת...<br />
אני מאמין שזה יותר יעיל:</p>
<pre><code>for (i=0;i&lt;source.length;i++) {
    x = source[i];
    allLeters[x] =  1 + (allLeters[x] || 0));
}
</code></pre>
<p dir="auto"><strong>עריכה:</strong> לא צדקתי... <a href="http://jsben.ch/GnbDe" target="_blank" rel="noopener noreferrer nofollow ugc">http://jsben.ch/GnbDe</a><br />
<strong>עריכה2:</strong> סליחה, זה משהו אחר שם... הנה: <a href="http://jsben.ch/bqrRx" target="_blank" rel="noopener noreferrer nofollow ugc">http://jsben.ch/bqrRx</a> (אבל יש שם באג בדף וזה לא מראה את התוצאות, למעשה הקוד שלי כ-70% משל <a class="plugin-mentions-user plugin-mentions-a" href="/user/dovid">@<bdi>dovid</bdi></a> )</p>
<p dir="auto">נ.ב. למה מופיע <code>{1}</code> אחרי הקוד שלי? זה לא נמצא במקור.</p>
]]></description><link>https://tchumim.com/post/80575</link><guid isPermaLink="true">https://tchumim.com/post/80575</guid><dc:creator><![CDATA[yossiz]]></dc:creator><pubDate>Thu, 31 Oct 2019 19:02:52 GMT</pubDate></item><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Thu, 31 Oct 2019 18:09:26 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/%D7%90%D7%91%D7%99-203">@<bdi>אבי-203</bdi></a> לא הבנתי לגמרי את השאלה.<br />
אני מבין שאתה לוקח למשל את כל ספר התורה, ומוכר לאנשים אותיות. ואתה רוצה לשמור את המכירה - כלומר שיש פחות מאות פלונית.<br />
אם הבנתי נכון, אתה עושה חד פעמית ספירה של כל האותיות.<br />
ויוצר אובייקט כזה:</p>
<pre><code>var allLeteres = {48646, "y": 152896 :"x", ...}
</code></pre>
<p dir="auto">וכן הלאה.<br />
אחרי קניה, אתה עושה</p>
<pre><code>allLeters["א"] -=1;
</code></pre>
<p dir="auto">הנה קוד שמתאר את העניין:</p>
<pre><code>var source = "פה יש את טקסט של כל התורה....";
var allLeters = {};
[...source].forEach(x =&gt; allLeters[x] =  1 + (allLeters[x] || 0));


function subLetters(word){
	for(var l of word){
		if(!allLeters[l]) throw "אין מספיק אותיות...";
        allLeters[l] -= 1;
    }
}


//allLeters
//{פ: 1, ה: 3, " ": 6, י: 1, ש: 2, …}
subLetters("טסט")
</code></pre>
<p dir="auto">נ.ב. מה תעשה כשיישאר אלפי אותיות ו,י בסוף ללא אותיות נוספות, מישהו יקנה?</p>
]]></description><link>https://tchumim.com/post/80569</link><guid isPermaLink="true">https://tchumim.com/post/80569</guid><dc:creator><![CDATA[dovid]]></dc:creator><pubDate>Thu, 31 Oct 2019 18:09:26 GMT</pubDate></item><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Thu, 31 Oct 2019 13:04:26 GMT]]></title><description><![CDATA[<p dir="auto">איזה אנשים ישרים עוד יש בעולם...</p>
]]></description><link>https://tchumim.com/post/80530</link><guid isPermaLink="true">https://tchumim.com/post/80530</guid><dc:creator><![CDATA[בעזרתו]]></dc:creator><pubDate>Thu, 31 Oct 2019 13:04:26 GMT</pubDate></item><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Thu, 31 Oct 2019 12:12:46 GMT]]></title><description><![CDATA[<p dir="auto">כן</p>
]]></description><link>https://tchumim.com/post/80503</link><guid isPermaLink="true">https://tchumim.com/post/80503</guid><dc:creator><![CDATA[אבי 203]]></dc:creator><pubDate>Thu, 31 Oct 2019 12:12:46 GMT</pubDate></item><item><title><![CDATA[Reply to בניית טופס רכישה לפי אותיות on Thu, 31 Oct 2019 12:08:20 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/%D7%90%D7%91%D7%99-203">@<bdi>אבי-203</bdi></a><br />
איזה אותיות? לספר תורה?</p>
]]></description><link>https://tchumim.com/post/80500</link><guid isPermaLink="true">https://tchumim.com/post/80500</guid><dc:creator><![CDATA[nigun]]></dc:creator><pubDate>Thu, 31 Oct 2019 12:08:20 GMT</pubDate></item></channel></rss>