0

パッケージデータベースを検索する検索フォームがあります。すべてが正常に機能し、ダンディです。からの検索が送信されると、画像付きのスタイル付きボックスに表示された別のページに結果が返されます。しかし、残念ながら、次々と下に表示されているようです。彼らが戻ってきて、私は正しい結果を得ているのは良いことですが。3つを並べて表示できるようにしたいのですが、次の行に移動してさらに3つを表示し、以下同様に結果がなくなるまで続けます。

PHPは次のとおりです。

<?php
            $con = mysql_connect ("localhost", "horizon1", "D2j616H5O@Lw");
                   mysql_select_db ("horizon1_delyn", $con);

            if (!$con)
                { 
                    die ("Could not connect: " . mysql_error());
                }

            $descrip = mysql_real_escape_string($_POST['descrip']); 
            $depth   = mysql_real_escape_string($_POST['depth']);
            $varWidth = mysql_real_escape_string($_POST['traywidth']);
            $varHeight= mysql_real_escape_string($_POST['trayheight']);
            $varRange = mysql_real_escape_string($_POST['trayrange']);
            $varType  = mysql_real_escape_string($_POST['traytype']);
            $varShape = mysql_real_escape_string($_POST['trayshape']);
            $varImage = mysql_real_escape_string($_POST['imagename']);

            if (isset($varHeight) && !empty($varHeight)) {
                    $low  = ($varHeight."00");
                    $high = ($varHeight."99");
                } else {
                    $low  = ("000");
                    $high = ("999");
                }

            if (isset($varWidth) && !empty($varWidth)) {
                    $min  = ($varWidth."00");
                    $max = ($varWidth."99");
                } else {
                    $min  = ("000");
                    $max = ("999");
                }   


            $sql = "SELECT * FROM range WHERE 
                        description LIKE '%".$descrip."%'  
                    AND trayrange   LIKE '%".$varRange."%' 
                    AND traytype    LIKE '%".$varType."%' 
                    AND trayshape   LIKE '%".$varShape."%'
                    AND traywidth   BETWEEN '".$min."'  AND '".$max."' 
                    AND trayheight  BETWEEN '".$low."' AND '".$high."' ";


                $r_query = mysql_query($sql);  

                while ($row = mysql_fetch_array($r_query)) 
                    { 
                        echo '<div id="results">';
                        echo '<p class="image">
                                <img src="   '. $row['imagename'] . '" width="150" length="80"> 
                                    </p>';
                        echo '<div id="table"><br />
                                <strong> Tool Code: </strong>  '. $row['toolcode'];
                        echo '<br /><strong> Description: </strong> '. $row['description']; 
                        echo '<br /><strong> Tray range: </strong> '. $row['trayrange']; 
                        echo '<br /><strong> Tray type:  </strong> '. $row['traytype'];
                        echo '<br /><strong> Tray size:  </strong> '. $row['traysize']; 
                        echo '<br /><strong> Tray shape: </strong> '. $row['trayshape'] . '</div>' . '<br />';
                        echo '<a href="enquire.html">Enquiry Page</a> <br />' . 
                             '<a href="packingtest.html">Back to Search</a>';
                        echo '</div>' . '<br />';
                    }
                if (mysql_num_rows($r_query) <= 0){
                    echo 'No results match your search, please try again';
               }
        ?>

そしてここにCSSがあります:

   <style>
 #boxes {
padding: 10px;
margin-top: 20px;
margin: 10px;
float: left;
display: block;
}
 #results {
width: 212px;
    padding: 5px;
    background: #E8CF24;
display: block;
    overflow:auto;

font-family: Verdana, Geneva, sans-serif;
font-size: 11px;
font-color: #FFF;

border: 2px solid #cccccc;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
border-radius: 7px;

-moz-box-shadow: 2px 2px 2px #cccccc;
-webkit-box-shadow: 2px 2px 2px #cccccc;
box-shadow: 2px 2px 2px #cccccc;
}
 #table {
margin-top: 10px;
width: 200px;
    padding: 3px;
    background: #FFF;
display: block;
    overflow:auto;

border: 2px solid #cccccc;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
border-radius: 7px;

-moz-box-shadow: 2px 2px 2px #cccccc;
-webkit-box-shadow: 2px 2px 2px #cccccc;
box-shadow: 2px 2px 2px #cccccc;
}
 .image {
margin-left: 28px;
margin-bottom: 0px;
margin-top: 5px;
}
 a:link {
color: #000423;
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
}
 </style>

CSSで編集しようとしましたが、位置やパディング、余白などを変更できます。しかし、私はそれらを隣り合わせにすることはできません。

誰か助けてくれますか?前もって感謝します :)

4

1 に答える 1

-1

cssで、これを#resultsセレクターに追加します。

#results {
   float:left
}

編集:申し訳ありませんが、それは正解ではありませんでした。上記のコードを削除し、以下のコードを調べてください。

whileループを次のコードに置き換えます。

編集:$count変数を初期化することを忘れないでください。($ count = 0;)コードをコピーして貼り付けるだけで、うまくいくはずです。

   $count = 0;
   while ($row = mysql_fetch_array($r_query)) 
    { 

        $t = $count%3;
        echo ($t==2) ?  '<div id="results">' : '<div id="results" style="float:left">';

        echo '<p class="image">
                <img src="   '. $row['imagename'] . '" width="150" length="80"> 
                    </p>';
        echo '<div id="table"><br />
                <strong> Tool Code: </strong>  '. $row['toolcode'];
        echo '<br /><strong> Description: </strong> '. $row['description']; 
        echo '<br /><strong> Tray range: </strong> '. $row['trayrange']; 
        echo '<br /><strong> Tray type:  </strong> '. $row['traytype'];
        echo '<br /><strong> Tray size:  </strong> '. $row['traysize']; 
        echo '<br /><strong> Tray shape: </strong> '. $row['trayshape'] . '</div>' . '<br />';
        echo '<a href="enquire.html">Enquiry Page</a> <br />' . 
             '<a href="packingtest.html">Back to Search</a>';
        echo '</div>';

        $count++;
    }

これは私が得るものです。私はcssファイルを使用しませんでした。

ここに画像の説明を入力してください

于 2012-10-24T11:09:57.147 に答える