نمایش نتایج 1 تا 8 از 8

نام تاپیک: حلقه FOR و جداول

  1. #1

    حلقه FOR و جداول

    سلام دوستان
    من یک صفحه دارم که در هر صفحه 100 رکورد از دیتابیس گرفته میشه و در جدول نمایش داده میشه .

    حالا من میخوام کد رو طوری تنظیم کنم که 50 رکورد اول رو در ستون اول نمایش بده و 50 رکورد بعدی رو کنارش در یک ستون دیگه نمایش بده

    به این صورت :


    1 51
    2 52
    . .
    . .
    50 100

    من خودم مقداری کد واسش نوشتم و به همه مدل اینو در اوردم اما همش اشتباه بود

    منون میشم دوستان راهنمایی کنن



  2. #2

    نقل قول: حلقه FOR و جداول

    یا اینکه 100 تا رکورد را بگیره و به این صورت نمایش بده که
    اول : یک <TR> بزنه و بعد 2 تا رکورد را در 2 تا <TD> بزیزه :
    <TR>
    <TD>
    RECORD 1
    </TD>
    <TD>
    RECORD 2
    </TD>
    </TR>

    و بعد باز به همین صورت کدهای بالا رو برای 2 رکورد بعدی چاپ کنه ، تا کلاً اطلاعاتی که از QUERY خواستیم رو برامون چاپ کنه

    $res = $obj->query("select * from word_search ORDER BY id DESC limit 0,100 ");


    و به همین صورت رکورد ها را دو به دو رو به روی هم چاپ کنه :

    1 2
    3 4
    5 6
    7 8
    . .
    . .
    99 100

    این کد رو هم واسش نوشتم اما 100 رکورد اول رو تو یه ستون چاپ میکنه و بعد باز کنارش همون 100 رو رکورد رو نمایش میده :

     
    <?php
    include '../../include/DAL_Class.php';
    $obj = new DB();
    $res = $obj->query("select * from word_search ORDER BY id DESC limit 0,100 ");
    echo '<table border=1 ><tr>';
    $conx = count($res);
    for($i=0;$i<=$conx;$i++)
    {
    $row = $res[$i]['word'];
    for($j=0;$j<2;$j++)
    {
    echo '<td>'.$row.'</td>';

    }
    echo '<tr>';
    }

    echo '</tr></table>';
    ?>


    به این صورت :

    1 1
    2 2
    3 3
    4 4
    5 5
    . .
    100 100

  3. #3
    کاربر تازه وارد آواتار smhnaji
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    ایران - قم
    پست
    98

    نقل قول: حلقه FOR و جداول

    $start = (int)$_GET['start'];
    $query = "SELECT `id` FROM `table` LIMIT $start-1, 50";
    $result = mysql_query($query) or die();

    echo "<table class='invisible_table'><tr><td>";
    echo "<table class='column1'>"
    while ($row = mysql_fetch_array($result))
    {
    echo "<tr><td>" . $row["id"] . "</td></tr>";
    }
    echo "</table>";
    echo "</td>";

    $start += 50;
    // دیگه نیازی به نوشتن دوباره ی این خط نیست: $query = "SELECT `id` FROM `table` LIMIT $start-1, 50";
    $result = mysql_query($query) or die(); // اما اینو باید دوباره بنویسیم که بره کوئری رو اجرا کنه چون استارت مقدار جدیدی گرفته

    echo "<td>";
    echo "<table class='column2'>"
    while ($row = mysql_fetch_array($result))
    {
    echo "<tr><td>" . $row["id"] . "</td></tr>";
    }
    echo "</table>";

    // editted: the last line was added
    echo "</td></tr></table>";
    این راه حل برای پست اول
    دومی هم آسونه

    همین جوریه فقط یه حلقه میخواد.

    تا جایی که تونستم سعی کردم خوانا و خیلی معمولی بنویسم.
    امیدوارم به راحتی متوجه این کد بشی دوست خوبم.
    آخرین ویرایش به وسیله smhnaji : شنبه 26 بهمن 1387 در 11:41 صبح

  4. #4

    نقل قول: حلقه FOR و جداول

    این کد شما هم هر رکورد رو دوبار چاپ میکنه ،
    فکر میکنم روش دوم ( پست دوم ) بهتر باشه اما اونم در حلقه دوم هر رکورد رو دو بار در TD میریزه

    یعنی هر رکورد دو بار چاپ میشه

    ممنون میشم راجبه کد دوم زاهنمایی کنید که به اون صورت در بیارم اما بدون اینکه هر رکورد رو دو بار چلپ کنه

  5. #5
    کاربر تازه وارد آواتار smhnaji
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    ایران - قم
    پست
    98

    نقل قول: حلقه FOR و جداول

    پستم رو ویرایش کردم و خط آخر رو بش اضافه کردم

    الان خودم هم تست می کنم و نتیجه رو می گم.

    درباره ی دومی هم توضیح می دم

  6. #6

    نقل قول: حلقه FOR و جداول

    اینم خروجی کد شما بعد از نمایش

     
    <table class='invisible_table'><tr><td><table class='column1'><tr><td>1</td></tr><tr><td>2</td></tr><tr><td>3</td></tr><tr><td>4</td></tr><tr><td>5</td></tr><tr><td>6</td></tr><tr><td>7</td></tr><tr><td>8</td></tr><tr><td>9</td></tr><tr><td>10</td></tr><tr><td>11</td></tr><tr><td>12</td></tr><tr><td>13</td></tr><tr><td>14</td></tr><tr><td>15</td></tr><tr><td>16</td></tr><tr><td>17</td></tr><tr><td>18</td></tr><tr><td>19</td></tr><tr><td>20</td></tr><tr><td>21</td></tr><tr><td>22</td></tr><tr><td>23</td></tr><tr><td>24</td></tr><tr><td>25</td></tr><tr><td>26</td></tr><tr><td>27</td></tr><tr><td>28</td></tr><tr><td>29</td></tr><tr><td>30</td></tr><tr><td>31</td></tr><tr><td>32</td></tr><tr><td>33</td></tr><tr><td>34</td></tr><tr><td>35</td></tr><tr><td>36</td></tr><tr><td>37</td></tr><tr><td>38</td></tr><tr><td>39</td></tr><tr><td>40</td></tr><tr><td>41</td></tr><tr><td>42</td></tr><tr><td>43</td></tr><tr><td>44</td></tr><tr><td>45</td></tr><tr><td>46</td></tr><tr><td>47</td></tr><tr><td>48</td></tr><tr><td>49</td></tr><tr><td>50</td></tr></table></td><td><table class='column2'><tr><td>1</td></tr><tr><td>2</td></tr><tr><td>3</td></tr><tr><td>4</td></tr><tr><td>5</td></tr><tr><td>6</td></tr><tr><td>7</td></tr><tr><td>8</td></tr><tr><td>9</td></tr><tr><td>10</td></tr><tr><td>11</td></tr><tr><td>12</td></tr><tr><td>13</td></tr><tr><td>14</td></tr><tr><td>15</td></tr><tr><td>16</td></tr><tr><td>17</td></tr><tr><td>18</td></tr><tr><td>19</td></tr><tr><td>20</td></tr><tr><td>21</td></tr><tr><td>22</td></tr><tr><td>23</td></tr><tr><td>24</td></tr><tr><td>25</td></tr><tr><td>26</td></tr><tr><td>27</td></tr><tr><td>28</td></tr><tr><td>29</td></tr><tr><td>30</td></tr><tr><td>31</td></tr><tr><td>32</td></tr><tr><td>33</td></tr><tr><td>34</td></tr><tr><td>35</td></tr><tr><td>36</td></tr><tr><td>37</td></tr><tr><td>38</td></tr><tr><td>39</td></tr><tr><td>40</td></tr><tr><td>41</td></tr><tr><td>42</td></tr><tr><td>43</td></tr><tr><td>44</td></tr><tr><td>45</td></tr><tr><td>46</td></tr><tr><td>47</td></tr><tr><td>48</td></tr><tr><td>49</td></tr><tr><td>50</td></tr></body>

  7. #7
    کاربر تازه وارد آواتار smhnaji
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    ایران - قم
    پست
    98

    نقل قول: حلقه FOR و جداول

    ;
    // دیگه نیازی به نوشتن دوباره ی این خط نیست: $query = "SELECT `id` FROM `table` LIMIT $start-1, 50";

    مشکل از این خط بود.
    نباید کامنت می شد!

    کدی رو که هیچ اروری نمیده و کار می کنه (برای من کار کرد) اینه:

    <?php

    $start =1;//(int)$_GET['start'];

    mysql_connect("localhost", "root", "") or die('err');
    mysql_select_db("test");

    $query = "SELECT `id` FROM `table` LIMIT $start, 50";
    $result = mysql_query($query) or die(mysql_error());

    echo "<table class='invisible_table'><tr><td>";
    echo "<table class='column1'>";
    while ($row = mysql_fetch_array($result))
    {
    echo "<tr><td>" . $row["id"] . "</td></tr>";
    }
    echo "</table>";
    echo "</td>";

    $start += 50;
    $query = "SELECT `id` FROM `table` LIMIT $start, 50";
    $result = mysql_query($query) or die(); // ??? ???? ???? ?????? ??????? ?? ??? ????? ?? ???? ??? ??? ?????? ????? ????? ?????

    echo "<td>";
    echo "<table class='column2'>";
    while ($row = mysql_fetch_array($result))
    {
    echo "<tr><td>" . $row["id"] . "</td></tr>";
    }
    echo "</table>";

    // editted: the last line was added
    echo "</td></tr></table>";

    ?>

  8. #8
    کاربر تازه وارد آواتار smhnaji
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    ایران - قم
    پست
    98

    نقل قول: حلقه FOR و جداول

    <?php

    $start =1;//(int)$_GET['start'];

    mysql_connect("localhost", "root", "") or die('err');
    mysql_select_db("test");

    $query = "SELECT `id` FROM `table` LIMIT $start, 100";
    $result = mysql_query($query) or die(mysql_error());

    echo "<table>";
    $i = 0;
    while ($row = mysql_fetch_array($result))
    {
    if ($i%2 == 0) // ??? ??? ???? 2 ???
    echo "<tr><td>" . $row["id"] . "</td>";
    else
    echo "<td>" . $row["id"] . "</td></tr>";
    $i++;
    }
    echo "</table>";
    ?>


    موفق باشی :)
    آخرین ویرایش به وسیله smhnaji : شنبه 26 بهمن 1387 در 12:19 عصر دلیل: خروجی کد به درستی تو فروم چاپ نمی شد، پاکش کردم!

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •