Magic The Gathering Mysql таблица, как вызвать функцию внутри эха, который находится в PHP-скрипте - PullRequest
0 голосов
/ 26 марта 2012

Как вы помещаете php в php? Сценарий ниже, где я пытаюсь поместить php в сценарий php. Внизу для функции boutique_product_name. Эта строка кода имеет два отдельных экземпляра вызывающих функций, но она должна быть вложена в эту таблицу mysql. Я пропустил много кода, который не нужно было отображать, чтобы было легче следовать. Но в конечном итоге это будет таблица MySQL, извлеченная из XML-файла для магии собирающих карт. Который будет включать данные о ценах и возможность покупки карт, следовательно, для чего предназначены функции внизу.

Мне все еще нужно будет выяснить, как сделать фактические страницы продукта для каждой карточки в таблице, но это на будущее.

Так что, если кто-нибудь знает, как в мире разместить

<?php
    $z = new xmlreader;
    $z->open('http://*****.com/wp-content/themes/*****/mtg/arb.xml'); // Your XML File name
    $doc = new DOMDocument;

    while ($z->read() && $z->name !== 'card');
    echo "<table border=1>
    <tr></tr>";

    while ($z->name === 'card')
    {
        $node = new SimpleXMLElement($z->readOuterXML());

        echo "<tr>

        <td><div class='id1'>".$node->id."</div></td>
        <td><div class='cardname1'>".$node->name."</div></td>
        <td><div class='set1'>".$node->set."</div></td>
        <td><div class='cardtype1'>".$node->type."</div></td>
        <td><div class='rarity1'>".$node->rarity."</div></td>
        <td><div class='manacost1'>".$node->manacost."</div></td>

        $id     =   $node->id;
        $name       =   $node->name;
        $set        =   $node->set;
        $type       =   $node->type;
        $rarity     =   $node->rarity;
        $manacost   =   $node->manacost;

        $sql = "INSERT INTO `*****_wrdp2`.`cards` 

        (`id`, `name`, `set`, `type`, `rarity`, `mana cost`) 
        VALUES 
        ('$id', '$name', '$set', '$type', '$rarity', '$manacost');";

        if(mysql_query($sql)) 
        {
            echo "<td><div class='error'><font color='green'><b>Success!</b></font></div></td></tr>";

            } else {

            echo "<td><div class='error'><font color='red'><b>Failure! (".mysql_error().")</b></font></div></td></tr>";
        }

        echo "<a href="#<?php echo boutique_product_name('offer'); ?>" class="add-to-cart et-shop-item"><?php esc_html_e('Add to cart','Boutique'); ?></a>";
        $z->next('card');
    }

    echo "</table>";
?>

1 Ответ

0 голосов
/ 26 марта 2012

Технически, вы ищете "eval", но я не думаю, что это действительно то, что вы хотите. Кажется, вы каждый раз передаете в функцию один и тот же аргумент. Если это сделано хорошо, то тот же самый ввод должен привести к тому же самому выводу.

Разве вы не можете просто позвонить:

 $prodName = boutique_product_name('offer');

 while ($z->name === 'card')
{
    $node = new SimpleXMLElement($z->readOuterXML());

    echo "<tr>

    <td><div class='id1'>".$node->id."</div></td>
    <td><div class='cardname1'>".$node->name."</div></td>
    <td><div class='set1'>".$node->set."</div></td>
    <td><div class='cardtype1'>".$node->type."</div></td>
    <td><div class='rarity1'>".$node->rarity."</div></td>
    <td><div class='manacost1'>".$node->manacost."</div></td>";
    // notice that close quote!

    $id     =   $node->id;
    $name       =   $node->name;
    $set        =   $node->set;
    $type       =   $node->type;
    $rarity     =   $node->rarity;
    $manacost   =   $node->manacost;

    $sql = "INSERT INTO `*****_wrdp2`.`cards` 

    (`id`, `name`, `set`, `type`, `rarity`, `mana cost`) 
    VALUES 
    ('$id', '$name', '$set', '$type', '$rarity', '$manacost');";

    if(mysql_query($sql)) 
    {
        echo "<td><div class='error'><font color='green'><b>Success!</b></font></div></td></tr>";

        } else {

        echo "<td><div class='error'><font color='red'><b>Failure! (".mysql_error().")</b></font></div></td></tr>";
    }

    // note the escapes
    echo "<a href=\"#$prodName\" class=\"add-to-cart et-shop-item\"><?php esc_html_e('Add to cart','Boutique'); ?></a>";
    $z->next('card');
}

echo "</table>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...