1 Востаннє редагувалося Wsewlad (14.03.2017 19:08:16)

Тема: Як з php заповнити масив об’єктів в JavaScript?

$sql = "SELECT Wordplace.row, Wordplace.col, Wordplace.direction, Wordplace.wordLength, 
TemplateToWordplace.template_id FROM Wordplace INNER JOIN 
TemplateToWordplace ON TemplateToWordplace.wordplace_id=Wordplace.id AND TemplateToWordplace.template_id=".$_GET["id"]; 
 // Створюємо вибірку з БД
            $result = $conn->query($sql); // Виконуємо вибірку

                if ($result->num_rows > 0) { // Якщо результатом вибірки є 
більш ніж один рядок, то створюємо масив об’єктів (За допомогою php пишемо JS код) 
з якого будемо вимальовувати шаблон
                print "<script>";
                print " var template = [";
                    while($row = $result->fetch_assoc()) {
                    print "{
                            column: ". $row['col'].",
                            direction: ".$row['direction'].",
                            row: ".$row['row'].",
                            wordLength: ".$row['wordLength']."
                        },";
                    }
            print "]; ";
                    print "draw_template_from_array();"; // Вимальовуємо шаблон
                    print "</script>";
                } else {
                    echo "0 results";
                }

Зараз виходить записати масив об’єктів, але коли дивишся на код сторінки, то виходить величезний стовпчик хард коду. Чи можна його зробити якось не хард кодом?)

2

Re: Як з php заповнити масив об’єктів в JavaScript?

Не розумію що за костилі ви робите, але подивіться в бік JSON, як з боку PHP, так і JS.

Подякували: Yola, Wsewlad2

3

Re: Як з php заповнити масив об’єктів в JavaScript?

На сторінці пише такий масив https://drive.google.com/open?id=0BzkLH … mx3TzFZa2s

4 Востаннє редагувалося Yola (14.03.2017 19:22:11)

Re: Як з php заповнити масив об’єктів в JavaScript?

Можна спробувати якось так:

$wordplace = fetch_all(...);
echo '<script>';
echo 'var shirt = ' . json_encode($wordplace ) . ';';
echo '</script>';

Здається якщо отримувати кортежі з БД не по одному а всі разом, то якраз повертається масив.

або в один рядок:

print "{column: ". $row['col'].", direction: ".$row['direction'].", row: ".$row['row'].", wordLength: ".$row['wordLength']."},";
Подякували: VTrim, Wsewlad, 221VOLT3