[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Я вообще нашел вариант только что, проще некуда :)

    Code:
    $str = str_replace("to delete string", '', file_get_contents("file.txt")); file_put_contents("file.txt", $str); 
    
    потом в конце цикла удаляеш пустые строки и все.
     
    :)
     
  2. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Напишите готовое решени, мне нужно сегодня пожалуйстоооооооооооооооо
     
  3. Skofield

    Skofield Elder - Старейшина

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    Adio, может я не так понял, может имелось в виду так:
    PHP:
    <?php
    $f1 
    "file-1.txt";
    $f2 "file-2.txt";
    $a1 array_map("trim"file($f1));
    $a2 array_map("trim"file($f2));
    $fp fopen ($f2"wb");

    foreach (
    $a2 as $l2)
    {
        if(!
    in_array($l2$a1))
        {
            
    fwrite($fp$l2."\r\n");
        }
    }
    fclose($fp);
     
  4. ruphones

    ruphones New Member

    Joined:
    23 May 2012
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    PHP:
    <?php
    $f1 
    file('file-1.txt');
    $f2 file('file-2.txt');
    foreach (
    $f2 as $k => $v)
        if (
    in_array($v$f1))
            unset(
    $f2[$k]);
    file_put_contents('file-2.txt'implode(''$f2));
    ?>
     
  5. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Подскажите как сделать,
    Есть цикл,
    Из цикла данные пишуться в файл,
    Но, как записать к примеру шапку, и футер, без повторений ?
    Т.е записали данные из цикла, потом добавили шапку и футер файла.

    Я думал сделать так, (еще не делал) - пишем в из цикла в файл, потом по окончанию дописуем в начало файла шапку, и в конец футер - не знаю - может есть проще решение
     
  6. daniel777

    daniel777 Elder - Старейшина

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    1)Шапка;
    2)Цикл;
    3)Футер.
     
  7. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    :mad: я не тупой,
    А ты в твоей последовательности запиши

    Сначала пишуться данные из цикла, так как если я сделаю как ты написал, то шапка будет повторяться вместе с данными :mad:

    А так я думаю сделать так,

    цикл,
    если конец цикла,
    пишем в начало файла - шапка
    пишем в конец файла футер
     
  8. daniel777

    daniel777 Elder - Старейшина

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    Если я правильно понял, то так:
    PHP:
    <?php

    $fh
    =fopen('file.txt''a'); //Открываем файл
    fwrite($fh'Шапка'); //Записываем шапку

    for($i=1;$i<10;$i){

    fwrite($fh'Данные'); //В цикле записываем данные

    }

    fwrite($fh'Футер'); //Записываем футер

    fclose($fh); //Закрываем файл

    ?>
     
    2 people like this.
  9. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Верно, то что нужно, спасибо :) +
     
  10. BRR

    BRR New Member

    Joined:
    4 Jun 2012
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    как лучше выводить все данные с бд? можно через do-while и printf,но есть другие способы?
     
  11. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    можно через for и echo, например
     
  12. DeepBlue7

    DeepBlue7 Elder - Старейшина

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    Многие вот так делают...

    Code:
    <?php
    $sqlHandle = mysql_connect("127.0.0.1","root","1234");
    if($sqlHandle) mssql_select_db("db", $sqlHandle);
    else die("No mysql connection");
    
    $hQuery = mysql_query("select * from table");
    while($row = mysql_fetch_array($hQuery))
    {
    foreach($row as $elem)
    {
    echo $elem."|";
    }
    echo "<br/>";
    }
    ?>
     
  13. seofilms

    seofilms Elder - Старейшина

    Joined:
    27 May 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    14
    Есть SELECT :
    PHP:
    <select id="myselect" name="myselect" onchange="proverka();">
      <
    option value="1">Пожалуйста выберите себе окно</option>
      <
    option value="2">Одностворчатое окно глухое</option>
      <
    option value="3">Одностворчатое окно с поворотно-откидной створкой</option>
      <
    option value="4">Двустворчатое окно с поворотно-откидной створкой</option>
      <
    option value="5">Двустворчатое окно с поворотной поворотно-откидной створками</option>
      <
    option value="6">Трехстворчатое окно с поворотно-откидной створкой</option>
      <
    option value="7">Трехстворчатое окно с поворотной и поворотно-откидной створками</option>
    </
    select>
    И пых код :
    PHP:
    $brusbox=$_POST['brusbox'];
    $veka=$_POST['veka'];
    $firma=$_POST['firma'];
    $type=$_POST['myselect'];
    $kolvo=$_POST['kolvo'];
    $shirina=$_POST['shirina'];
    $vysota=$_POST['vysota'];
    $podokonnik=$_POST['podokonnik'];
    $spd=$_POST['spd'];
    $spo=$_POST['spo'];
    $montazh==0;
    $podokonnik==0;
    // ****************************************************************
    if ($type==1) {die ("Вы не выбрали окно");}
    if (
    $type==2) {$cenaveka=2087;}
    if (
    $type==3) {$cenaveka==3485;}
    if (
    $type==4) {$cenaveka==2990;}
    if (
    $type==5) {$cenaveka==3690;}
    if (
    $type==6) {$cenaveka==2805;}
    if (
    $type==7) {$cenaveka==3300;}
    // ****************************************************************
    Почему то при первых двух
    if ($type==1) {die ("Вы не выбрали окно");}
    if ($type==2) {$cenaveka=2087;}
    работают... к остальным $cenaveka=ЗДЕСЬ число, не присваивается.
    В чем проблема ?
    Заранее спасибо.
     
  14. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    К типу приводить не пробовал,
    PHP:
    $type = (int)$_POST['myselect'];
    Это так пальцем в небо.
     
  15. daniel777

    daniel777 Elder - Старейшина

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    seofilms,
    PHP:
    switch($type){
    case 
    '1':die('Вы не выбрали окно');break;
    case 
    '2':$cenaveka=2087;break;
    case 
    '3':$cenaveka=3485;break;
    case 
    '4':$cenaveka=2990;break;
    case 
    '5':$cenaveka=3690;break;
    case 
    '6':$cenaveka=2805;break;
    case 
    '7':$cenaveka=3300;break;
    };
     
  16. seofilms

    seofilms Elder - Старейшина

    Joined:
    27 May 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    14
    уже разобрался, у меня в одном месте стояло = а в других ==
    Невнимательность, но всем спасибо за помощь.
     
  17. Darth Padla

    Darth Padla Member

    Joined:
    21 Jun 2010
    Messages:
    141
    Likes Received:
    25
    Reputations:
    8
    PHP:

    $time
    =explode(":",$lastpost['time']);
    $date=explode(".",$lastpost['date']);
    if(
    $diff_weeks==0){
        
    $epoch_1=mktime($time[0],$time[1],$time[2],$date[1],$date[0],$date[2]);
        
    $epoch_2=time();
        
    $diff_seconds=$epoch_2-$epoch_1;
        
    $diff_weeks=floor($diff_seconds/604800);
        
    $diff_seconds-=$diff_weeks*604800;
        
    $diff_days=floor($diff_seconds/86400);
        
    $diff_seconds-=$diff_days*86400;
        
    $diff_hours=floor($diff_seconds/3600);
        
    $diff_seconds-=$diff_hours*3600;
        
    $diff_minutes=floor($diff_seconds/60);
        
    $diff_seconds-=$diff_minutes*60;
        echo 
    $diff_days;
        switch(
    $diff_days){
            case 
    1:echo " день ";break;
            case 
    2:case 3:case 4:echo " дня ";break;
            case 
    5:case 6:echo " дней ";break;
            default:break;
        }
        echo 
    $diff_hours;//Я был не против,если бы писалось 0 часов - но оно само почему то исчезает
        
    switch($diff_hours){
        case 
    1:case 21:echo " час ";break;
        case 
    2:case 3:case 4:case 22:case 23:echo " часа ";break;
        case 
    5:case 6:case 7:
        case 
    8:case 9:case 10:
        case 
    11:case 12:case 13:
        case 
    14:case 15:case 16:
        case 
    17:case 18:case 19:
        case 
    20:
        echo 
    " часов ";break;
        default:
    /*но если вставить тут echo " часов "; ,то цифра 00 появляется 0_0 */break;
        }
        echo 
    ltrim($diff_minutes,0);
        
    //Здесь почему-то выдает - 00,001,002,003,...,010,011,...,059 если нет часов($diff_hours==0).
        //если есть,то - 00,01,02,...,09,10,11,...,59.
        //Почему нули не убираются?
        
    switch($diff_minutes%10){
        case 
    1:echo " минуту ";break;
        case 
    2:case 3:case 4:echo " минуты ";break;
        case 
    5:case 6:case 7:case 8:case 9:case 0:echo " минут ";break;
        default:break;
        }
        if(
    $diff_days==and $diff_hours==and $diff_seconds>0){echo $diff_seconds." секунд ";}
        echo 
    "назад";
    }else{
        echo 
    $lastpost['date']." в ".$lastpost['time'];
    }
     
  18. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Доброго времени.
    Вывожу данные из бд таким образом:
    PHP:
    $result mysql_query("SELECT * FROM soft");
    $line mysql_fetch_array($result);
      do
        {  
    printf"<div id=\"soft_hint\" align=\"center\"> 
                          <h1> %s </h1>
                          <img src=%s> 
                          <p>%s</p>
                       </div>"
    ,$line['Caption'],$line['Img'],$line['Text']);
          } while (
    $line mysql_fetch_array($result));
    ?>
    Всё норм выводит, но подскажите, как сделать так, чтобы данные из бд выводились в обратном порядке?
     
  19. Metal-Core

    Metal-Core Member

    Joined:
    20 Sep 2011
    Messages:
    226
    Likes Received:
    21
    Reputations:
    0
    кажется Order by в конце запроса..
     
    1 person likes this.
  20. Dmit3Y

    Dmit3Y Member

    Joined:
    19 Jul 2010
    Messages:
    45
    Likes Received:
    8
    Reputations:
    0
    SELECT * FROM soft ORDER BY имя_поля_для_сортировки DESC

    DESC сортирует по убыванию, ASC по возрастанию.
    По умолчанию сортируется по возрастанию.
     
    1 person likes this.
Thread Status:
Not open for further replies.