Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.
Ограничения: максимум вложений в сообщении — 3 (3 осталось), максимальный размер всех файлов — 300 КБ, максимальный размер одного файла — 100 КБ
Снимите пометку с вложений, которые необходимо удалить
Перетащите файлы сюда или используйте кнопку для добавления файлов
Вложения и другие параметры
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр

Сообщения в этой теме

Автор Bhudh
 - сентября 21, 2014, 14:43
<?php
    
while ($row $result->fetch_row()) {
        
$index[]=($row);
    }
?>

    <table>
    <tr>
<?php
$n 0;
    foreach (
$index as $avatars)
    {
    
$n++;
    if (
$n == 0) {
    
?>

    </tr>
    <tr>
    <?php
    
}
    
?>

    <td>
      <img src="images/<?php echo $avatars[0]; ?>.jpg"
      onclick="ChangeAvatar(this.id)" id="<?= $avatars[0] ?>">
    </td>
    <?php
    
}
    
?>

</tr>
</table>
<script>
function ChangeAvatar(id) {
    document.getElementById("newimage").value = id;
    }
</script>
Автор Bhudh
 - сентября 21, 2014, 14:40
Цитата: Светка12 от сентября 21, 2014, 10:24Хотя с твоим кодом как-то получаю  " Parse error: syntax error, unexpected end of file "
Символы <?php в конце убрать надо. Точнее, перенести их наверх, поставить самой первой строчкой.
Автор Светка12
 - сентября 21, 2014, 12:23
Так, пока не будет новые ответы, я избегаю оставить тут новые сообщения, и прогресс как сказала можно будет видеть в http://iskragame.blogspot.co.il/
Автор Светка12
 - сентября 21, 2014, 10:24
По дезайну с HTML я только изполсьзую <tr><td>. Всё остальное с помощью CSS конечно.

Да у тебя хорошая логика програмиста,  Клонопотам. Тут "деление с остатком" (%) точно подходит. Хотя с твоим кодом как-то получаю  " Parse error: syntax error, unexpected end of file "

Я буду перечитывать все и постараюсь исправить это.

Нет, знаешь что, я перепишусь код с помощью CSS и float. Это лучший вариант для такой таблицы.

ЦитироватьК сожалению, при таком подходе создастся большая горизонтальная строка, и аватары не влезут в экран.

Да, я просто хотела уведить что это работает. Но я даже не получаю большую горизонтальную строку.

ЦитироватьКроме того, у тебя функция ChangeAvatar переопределяется каждый раз, а ведь её нужно определить только один раз.

Правильно, спасибо за замечание.
Автор Клонопотам
 - сентября 21, 2014, 00:44
Цитата: Bhudh от сентября 21, 2014, 00:43
можно вообще от таблиц отказаться.
Это понятно, но мне нехотелось слишком отходить от оригинального кода.
Автор Bhudh
 - сентября 21, 2014, 00:43
Кстати, чтобы не было такого, что аватары не влезают в экран, можно вообще от таблиц отказаться.
Тогда они будут нормально переноситься на следующую строку.
Автор Клонопотам
 - сентября 21, 2014, 00:39
Нормальный и рабочий — разные вещи :)
Автор Bhudh
 - сентября 21, 2014, 00:20
Да лан те, нормальный код, я примерно то же подсказал в блоггере, только писать не стал.
Автор Клонопотам
 - сентября 21, 2014, 00:12
Я на этих выходных далеко от компьютера, в понедельние вечером посмотрю.

Что касается аватаров,

    foreach ($index as $avatars)
    {
    ?>
    <table>
    <tr>
    <td>
      <img src="images/<?php echo $avatars[0]; ?>.jpg"
      onclick="ChangeAvatar(this.id)" id="<?= $avatars[0] ?>">
     
     
      <script>
function ChangeAvatar(id) {
    document.getElementById("newimage").value = id;
    }
</script>
</td>
  <?php
  
}
  
?>
</tr> </table>

То здесь
    <table>
    <tr>

явно нужно вынести за foreach. Сейчас у тебя по сути создаётся по новой таблице для каждого аватара (правда, эти таблицы незакрытые — ведь тег </table> только один). Кроме того, у тебя функция ChangeAvatar переопределяется каждый раз, а ведь её нужно определить только один раз.

Итак, код должен принять примерно такой вид: (код не проверен!!! я не за своим обычным компьютером, у меня тут нет PHP):

    while ($row = $result->fetch_row()) {
        $index[]=($row);
    }
?>
    <table>
    <tr>
<?php
    
foreach ($index as $avatars)
    {
    
?>

    <td>
      <img src="images/<?php echo $avatars[0]; ?>.jpg"
      onclick="ChangeAvatar(this.id)" id="<?= $avatars[0] ?>">
    </td>
  <?php
  
}
  
?>

</tr>
</table>
<script>
function ChangeAvatar(id) {
    document.getElementById("newimage").value = id;
    }
</script>
<?php


К сожалению, при таком подходе создастся большая горизонтальная строка, и аватары не влезут в экран. Чтобы с этим бороться, можно сделать, что в каждой строке только 4 аватара:

    while ($row = $result->fetch_row()) {
        $index[]=($row);
    }
?>
    <table>
    <tr>
<?php
$n 0;
    foreach (
$index as $avatars)
    {
    
$n++;
    if (
$n == 0) {
    
?>

    </tr>
    <tr>
    <?
    }
    ?>
    <td>
      <img src="images/<?php echo $avatars[0]; ?>.jpg"
      onclick="ChangeAvatar(this.id)" id="<?= $avatars[0] ?>">
    </td>
    <?php
    
}
    
?>

</tr>
</table>
<script>
function ChangeAvatar(id) {
    document.getElementById("newimage").value = id;
    }
</script>
<?php


К сожалению, весь код, который я пишу, не проверен, в нём могут быть ошибки!
Автор Светка12
 - сентября 20, 2014, 08:40
Пока да, все открытый для просмотра.  ;up: Думаю что в продвинутой стадии закрою опцию посмотрить исходный код. Но пока, нечем мне хвалиться.

http://iskragame.blogspot.co.il/