#php - & gt; СОХРАНИТЬ результат SQL-запроса в массиве [duplicate]

Вы создадите новый скрипт monobehaviour и добавите его в свой примитив. Затем вы будете использовать метод «Обновить» monobehaviour (или использовать сопрограмму) для объекта изменения с течением времени.

Monobehaviour должен выглядеть следующим образом:

public class ShrinkBehaviour : MonoBehaviour
{
    bool isNeedToShrink;
    Config currentConfig;

    float startTime;
    float totalDistance;

    public void StartShrink(Config config)
    {
        startTime = Time.time;
        currentConfig = config;
        totalDistance = Vector3.Distance(currentConfig.startSize, currentConfig.destinationSize);
        isNeedToShrink = true;
        transform.localScale = config.startSize;
    }

    private void Update()
    {
        if (isNeedToShrink)
        {
            var nextSize = GetNextSize(currentConfig);

            if (Vector3.Distance(nextSize, currentConfig.destinationSize) <= 0.05f)
            {
                isNeedToShrink = false;
                return;
            }

            transform.localScale = nextSize;
        }
    }

    Vector3 GetNextSize(Config config)
    {
        float timeCovered = (Time.time - startTime) / config.duration;
        var result = Vector3.Lerp(config.startSize, config.destinationSize, timeCovered);
        return result;
    }

    public struct Config
    {
        public float duration;
        public Vector3 startSize;
        public Vector3 destinationSize;
    }
}

Для этого вы должен сделать следующее:

public Cylinder()
{
    GameObject cylinder = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
    var shrink = cylinder.AddComponent<ShrinkBehaviour>();
    shrink.StartShrink(new ShrinkBehaviour.Config() { startSize = Vector3.one * 10, destinationSize = Vector3.one * 1, duration = 20f });
    cylinder.transform.position = new Vector3(3, 0, 0);

    cylinder.GetComponent<MeshRenderer>().material.color = Random.ColorHSV();
    Destroy(cylinder, 30.0f);
}

Вы должны помнить, что monobehaviour-script должен быть в отдельном файле и должен иметь имя, подобное имени monobehaviour-class. Например, ShrinkBehaviour.cs;

20
задан Polynomial 6 June 2012 в 10:55
поделиться

2 ответа

$st = $data->prepare("SELECT * FROM exampleWHERE example LIKE :search LIMIT 10"); 
-2
ответ дан slfan 26 August 2018 в 00:07
поделиться

Существует три способа извлечения нескольких строк, возвращаемых оператором PDO.

Простейшим является просто выполнить итерацию по самому PDOStatement:

$stmt = $pdo->prepare("SELECT * FROM auction WHERE name LIKE ?")
$stmt->execute(array("%$query%"));
// iterating over a statement
foreach($stmt as $row) {
    echo $row['name'];
}

другой - это выборка строк с использованием метода fetch () внутри знакомого оператора while:

$stmt = $pdo->prepare("SELECT * FROM auction WHERE name LIKE ?")
$stmt->execute(array("%$query%"));
// using while
while($row = $stmt->fetch()) {
    echo $row['name'];
}

, но для современного веб-приложения нам нужно, чтобы наши итерации datbase были отделены от вывода, и поэтому наиболее удобным методом было бы получить все строки сразу с помощью метода fetchAll ():

$stmt = $pdo->prepare("SELECT * FROM auction WHERE name LIKE ?")
$stmt->execute(array("%$query%"));
// fetching rows into array
$data = $stmt->fetchAll();

а затем вывести их в шаблон:

<ul>
<?php foreach($data as $row): ?>
    <li><?=$row['name']?></li>
<?php endforeach ?>
</ul>

Обратите внимание, что PDO поддерживает множество режимов сложной выборки, позволяя fetchAll () возвращать данные во многих разных форматах .

3
ответ дан Your Common Sense 26 August 2018 в 00:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: