Автор Тема: Проблем с добавяне на още снимки в една колона  (Прочетена 1996 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

aivanov

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 8
Здравейте. Опитвам се в страницата edit.php да кача още снимки в колона със снимки. Кода е следният:

Код: PHP
  1. while($row = mysql_fetch_array($db->query_result))
  2. {
  3.  
  4.  
  5.      
  6.       $small_images =  $row["Small_images"];
  7.       $small_images_masiv = explode('|' , $small_images);
  8.       $big_images = $row["Big_images"];
  9.       $big_images_masiv = explode('|' , $big_images);
  10.       $total_images = count($big_images_masiv);
  11.       echo '<input type="hidden"  name="obsht_broi_izobrajeniq" id="kolko_izobrajeniq_sa" value="'.$total_images.'">';
  12.  
  13.      
  14. echo '
  15.  
  16.             <div class="add-info-l"> '; ?>
  17.          
  18.  
  19.  
  20. <?php
  21. echo '
  22.      
  23.            
  24.  
  25.      
  26.      </div>      
  27.            <div class="clear"></div>
  28.      
  29.    ';
  30. }
  31.  
  32. ?>
  33. </div>
  34.  
  35.  
  36. <input type="file" id="file_1"  name="images[]" onchange="validaciq_na_izobrajeniqta()" multiple="multiple" />
  37.  
  38.  
  39. <input type="hidden" id="hidden_value" value="1"  name="number_of_images" />
  40.  
  41. <?php
  42. for($i = 0, $k=1; $i < $total_images; $i++ , $k++)
  43. {
  44.       echo'<input type="hidden" value="'.$small_images_masiv[$i].'"  id="sml_img_'.$k.'" name="sml_imagees_'.$k.'">';
  45.       echo'<input type="hidden" value="'.$big_images_masiv[$i].'"  id="bg_img_'.$k.'" name="bg_imagees_'.$k.'">';
  46. }
  47. ?>
  48. <div id="snimkite">
  49.  
  50. </div> <!--end div id="snimkite"-->
  51. <div id="remove_rearrange_image" >
  52. <h2>Изтрий/Премести изображение</h2>
  53. <?php
  54. for($i = 0, $one = 1;  $i < $total_images; $i++ , $one++)
  55. {
  56.       echo '<div align="center" class="up-down-pic">';
  57.       echo '<div id="tiny_img_'.$one.'">';
  58.       echo '<img src="../images/'.$small_images_masiv[$i].'">';
  59.  
  60.      
  61.       if($i!=0 )
  62.       {
  63.             echo '<a href="" onclick="go_previous('.$one.');return false;"><img src="images/Actions-go-previous-icon.png"></a>';
  64.       }      
  65.      
  66.       echo '<a href="" onclick="delete_image('.$one.');return false;"><img src="images/delete-icon.png"></a>';
  67.      
  68.       if($i !=($total_images - 1))
  69.       {
  70.             echo '<a href="" onclick="go_next('.$one.');return false;"><img src="images/Actions-go-next-icon.png"></a>';
  71.       }
  72.  
  73.  
  74.       echo '</div>';      
  75.       echo '</div>';      
  76.      
  77.      
  78. }
  79. ?>
  80. <div class="clear"></div>
  81. <br />
  82.  
  83. <input type="submit" value="Промени"  name="submitche"  id="dobavi_zapis"  >
  84. </div> <!--end div id="remove_rearrange_image-->
  85. <!--<div id="add_images" onclick="add_more_images()">
  86.    
  87. </div>-->
  88.  
  89.  
  90. </form>
  91. <?php
  92. if(isset($_POST["submitche"]))
  93.  
  94. {
  95.       $new_small_images_massiv = "";
  96.       $new_big_images_massiv = "";
  97.       $numb_img = $_POST["broi_izobrajeniq"];
  98.       for($i= 1; $i <= $numb_img; $i++)
  99.       {
  100.             $new_small_images_massiv .= $_POST["sml_imagees_".$i];
  101.             $new_small_images_massiv.="|";
  102.       }
  103.       for($i= 1; $i <= $numb_img; $i++)
  104.       {
  105.             $new_big_images_massiv .= $_POST["bg_imagees_".$i];
  106.             $new_big_images_massiv.="|";
  107.       }
  108.       $new_small_images_massiv=substr($new_small_images_massiv , 0 , -1);
  109.       $new_small_images_massiv = explode('|', $new_small_images_massiv);
  110.       $new_big_images_massiv=substr($new_big_images_massiv , 0 , -1);
  111.       $new_big_images_massiv = explode('|', $new_big_images_massiv);
  112.  
  113.       // vzimane na stoinostite ot tekstovite poleta
  114.      
  115.  
  116.       // <changes>
  117.       $big_images_array       = array();
  118.       $small_images_array       = array();
  119.       // </changes>      
  120.      
  121.      
  122.       // Дефиниране на константи с пътища до картинките
  123.       define("IMAGES_BIG_DIR",       "../images/Big_images/");
  124.       define("IMAGES_SMALL_DIR",       "../images/Small_images/");
  125.      
  126.       // Дефиниране на константи с размер за малките картинки
  127.       define("IMAGE_HEIGHT",       90);
  128.       define("IMAGE_WIDTH",       120);      
  129.      
  130.       // Позволени типове файлове
  131.       $allowed_type       = array(
  132.             'image/jpeg',
  133.             'image/jpg',
  134.             'image/JPG',
  135.             'image/JPEG',
  136.             'image/pjpeg',
  137.             'image/x-png',
  138.             'image/png',
  139.       );      
  140.      
  141.       $allowed_ext       = array('jpg', 'png', 'JPG', 'jpeg', 'JPEG');
  142.      
  143.       // Начало на обработката
  144.       if ( !empty($_FILES) ) {
  145.             // Имаме субмитнати файлове
  146.             //echo "<pre>";
  147.             //print_r($_POST);
  148.             //print_r($_FILES);
  149.            
  150.             // Брой на субмитнатите картинки
  151.             $number_of_images = isset($_FILES['images']['name']) ? count($_FILES['images']['name']) : 0;
  152.            
  153.             if ( $number_of_images > 0 ) {
  154.                   // Извъртаме всички картинки
  155.                   foreach ( $_FILES['images']['name'] as $nImagekey => $sImagaName ) {
  156.                         // Файла е качен успешно, провеверки, местени и манипулации
  157.                         if ( isset($_FILES['images']['error'][$nImagekey]) && $_FILES['images']['error'][$nImagekey] == UPLOAD_ERR_OK ) {
  158.                               // Проверка за тип на файла
  159.                               $extension = pathinfo($sImagaName, PATHINFO_EXTENSION);
  160.  
  161.                               if ( !in_array($_FILES['images']['type'][$nImagekey], $allowed_type) ) {
  162.                                     echo "Невалиден файлов формат!";
  163.                                     echo '</div>';
  164.                                     echo '<div class="down-body"></div>';
  165.                                     exit;
  166.                               } else if ( !in_array($extension, $allowed_ext) ) {
  167.                                     echo "Невалиден файлов формат!";
  168.                                     exit;
  169.                               }
  170.  
  171.                               // Закачаме уникално име на файла, базирано на неговата хеш сума.
  172.                               // Ако бъдат качени два или повече еднкави файла, без значение от
  173.                               // техните имена, накрая ще има само едно налично копие от тях.
  174.                               $fn                   = sprintf(sha1_file($_FILES['images']['tmp_name'][$nImagekey]).'.%s', $extension);
  175.                               $file_name             = sprintf(IMAGES_BIG_DIR.'%s', $fn);
  176.                               $file_name_sm       = sprintf(IMAGES_SMALL_DIR.'%s', $fn);
  177.                              
  178.                               // <changes>
  179.                               $big_images_array[]       = $file_name;
  180.                               $small_images_array[]             = $file_name_sm;
  181.                               // </changes>
  182.  
  183.                               // Местим качения файл от временната директория в указаната
  184.                               // Ако има роблеми с функцията move_uploaded_file(), може вместо нея да се използва функцията copy()
  185.                               if ( !copy($_FILES['images']['tmp_name'][$nImagekey], $file_name) ) {
  186.                                     echo "Файла не може да бъде обработен.";
  187.                                     exit;
  188.                               }
  189.  
  190.                               // Малки картинки
  191.                               // Неизвестна реализация на функцията resize_image; Неизвестна променлива $latin_name;
  192.                               //resize_image("../".$file_name,'210','180',IMAGES_SMALL_DIR.$latin_name."_pic_".$nImagekey.$extension);
  193.                              
  194.                               // Бърза реализация - ако не ти хареса, изтрий я.
  195.                               if ( strtolower($extension) == "jpg" ) {
  196.                                     $raw_img = imagecreatefromjpeg($file_name);
  197.                               } else if ( strtolower($extension) == "png" ){
  198.                                     $raw_img = imagecreatefrompng($file_name);
  199.                               }
  200.                              
  201.                               if ( $raw_img ) {
  202.                                     $raw_x = imageSX($raw_img);
  203.                                     $raw_y = imageSY($raw_img);
  204.                                    
  205.                                    
  206.                                    
  207.                                           $thumb_w = IMAGE_WIDTH;
  208.                                           $thumb_h = IMAGE_HEIGHT;
  209.                                    
  210.  
  211.                                     $thumb = ImageCreateTrueColor($thumb_w, $thumb_h);
  212.                                     imagecopyresampled($thumb, $raw_img, 0, 0, 0, 0, $thumb_w, $thumb_h, $raw_x, $raw_y);            
  213.  
  214.                                     if ( strtolower($extension) == "jpg" ) {
  215.                                           imagejpeg($thumb, $file_name_sm);
  216.                                     } else if ( strtolower($extension) == "png" ){
  217.                                           imagepng($thumb, $file_name_sm);
  218.                                     }
  219.  
  220.                                     imagedestroy($thumb);
  221.                                     imagedestroy($raw_img);                                    
  222.                               }
  223.                         }
  224.                   }
  225.             }
  226.            
  227.       } else if ( !empty($_POST) ) {
  228.             // Нямаме субмитнати картинки, но формата е субмитната
  229.             echo "Не сте избрали изображение. Задължително е да изберете поне едно";
  230.             exit;            
  231.       }
  232.      
  233.       // <changes>
  234.       $big_images_update = implode("|", $big_images_array);
  235.       $small_images_update = implode("|", $small_images_array);
  236.       // </changes>
  237.      
  238.             for($k = 0; $k< $numb_img; $k++)
  239.             {
  240.                   $small_images_update.= $new_small_images_massiv[$k];
  241.                   $small_images_update.="|";
  242.                   $big_images_update.= $new_big_images_massiv[$k];
  243.                   $big_images_update.="|";
  244.                  
  245.             }
  246.  

В Mysql колона в add.php се подреждат така

снимка.jpg|снимка.jpg|снимка.jpg|снимка.jpg|снимка.jpg|снимка.jpg

след като се опитам да кача снимка(ки) в edit.php излизат така в mysql

снимка.jpgснимка.jpg|снимка.jpg|снимка.jpg|снимка.jpg|снимка.jpg|снимка.jpg|

и всяка следваща

снимка.jpgснимка.jpgснимка.jpgснимка.jpgснимка.jpg|снимка.jpg|снимка.jpg|снимка.jpg|снимка.jpg|снимка.jpg||||
« Последна редакция: 24 Октомври 2015, 01:57:47 от HD »

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 269
  • Публикации: 2595
  • meow
Re: Проблем с добавяне на още снимки в една колона
« Отговор #1 -: 23 Октомври 2015, 21:35:19 »
Здравей и добре дошъл в Научи ме!

Затруднявам се да разбера какво точно имаш предвид. Може ли да обясниш какво точно искаш да визуализираш и какво не е наред с това. Имената на снимките в една и съща колона ли се записват на базата данни и къде влиза в употреба уникалното им име? Също така какво точно представлява $db обекта който ползваш в началото на скрипта?



П.п. mysql_ екстеншъна вече е deprecated и ще бъде премахнат, понеже използването му крие доста сериозни рискове в сигурността. Ако смяташ да правиш реален проект в интернет, бих те посъветвал да погледнеш PDO и mysqli_
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

aivanov

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 8
Re: Проблем с добавяне на още снимки в една колона
« Отговор #2 -: 23 Октомври 2015, 22:39:23 »
Качвам си определен продукт с 3 снимки да речем, но ми се налага да едитна страницата с продукта и да добавя още 1 снимки. (качил съм две снимки 1 първата е качените снимки до момента, а на втората снимка се опитвам да кача една допълнителна снимка, но проблема идва |,че я слага не след снимката, а най - открая и всяка следваща снимка ||||| отиват в края.

П.П. Много си прав за mysqli, вмомента се уча и още няма как да премина.




« Последна редакция: 23 Октомври 2015, 23:09:43 от aivanov »

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 190
  • Публикации: 3623
Re: Проблем с добавяне на още снимки в една колона
« Отговор #3 -: 24 Октомври 2015, 13:27:23 »
Много лууп много нещо бре момче. Къде е SQL кода ти за вкарване на инфото в базата? Чертички ти не трябва да вкарваш в базата данни, както и това да записваш имената и пътя към снимките като в едно изречение и после да ги екстратваш спрямо чертите между тях. Много лошо и напълно грешно.   
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 269
  • Публикации: 2595
  • meow
Re: Проблем с добавяне на още снимки в една колона
« Отговор #4 -: 24 Октомври 2015, 19:13:41 »
Просто са такива уроците, снимките се добавят в отделна таблица само за тях и се реферират по ID на нещото към което се качват. Ако имам време после ще напиша конкретен код.



Да приемем че сегашната ти таблица, където блъскаш всичко заедно се нарича fafla - там записваш различни фафли, като към всяка фафла добавяш снимки. Само че вместо да добавяш снимките в същата таблица, ще направим отделна таблица само за снимки, а за да разберем коя снимка за коя фафла се отнася, ще използваме id-то на фафлата във втората таблица:

Код: MySQL
  1. mysql> DESC fafla;
  2. +-------+--------------+------+-----+---------+----------------+
  3. | Field | Type         | Null | Key | Default | Extra          |
  4. +-------+--------------+------+-----+---------+----------------+
  5. | id    | int(11)      | NO   | PRI | NULL    | auto_increment | <<<<<<<< -- същото id ползваме и в таблицата със снимките
  6. | name  | varchar(255) | NO   |     | NULL    |                |        |
  7. +-------+--------------+------+-----+---------+----------------+        |
  8. 2 rows in set (0.01 sec)                                                |
  9.                                                                         |
  10. mysql> DESC pictures;                                                   |
  11. +----------+--------------+------+-----+---------+----------------+     |
  12. | Field    | Type         | Null | Key | Default | Extra          |     |
  13. +----------+--------------+------+-----+---------+----------------+     |
  14. | id       | int(11)      | NO   | PRI | NULL    | auto_increment |     |
  15. | fafla_id | int(11)      | NO   | MUL | NULL    |                | >>>>^
  16. | path     | varchar(255) | NO   |     | NULL    |                |
  17. +----------+--------------+------+-----+---------+----------------+
  18. 3 rows in set (0.00 sec)

Сега като искаш да добавиш снимки за фафла с име "Най-яката фафла", която има id 1, във втората таблица вкаршва снимката (поне пътя до нея) и fafla_id - 1 (най-яката фафла).

Код: MySQL
  1. mysql> SELECT * FROM `fafla`;
  2. +----+-----------------+
  3. | id | name            |
  4. +----+-----------------+
  5. |  1 | Най-яката фафла | >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+
  6. +----+-----------------+                                            |
  7. 1 row in set (0.00 sec)                                             |
  8.                                                                     |
  9. mysql> SELECT * FROM `pictures`;                                    |
  10. +----+----------+----------------------------------------------+    |
  11. | id | fafla_id | path                                         |    |
  12. +----+----------+----------------------------------------------+    |
  13. |  3 |        1 | ad66c2521d5125498bc1d0b5d3e79c03a67dc3bf.jpg |<---+
  14. |  4 |        1 | 1130a884110221f7ab7a5ca89a88c6e3956635ea.png |<---+
  15. +----+----------+----------------------------------------------+
  16. 2 rows in set (0.00 sec)

Сега как да селектираме снимките? Ами ще трябва да прочетеш за MySQL JOIN:
Код: MySQL
  1. mysql> SELECT `fafla`.`id`, `fafla`.`name`, `pictures`.`path` FROM `fafla`
  2.     -> INNER JOIN `pictures`
  3.     -> ON `fafla`.`id` = `pictures`.`fafla_id`;
  4. +----+-----------------+----------------------------------------------+
  5. | id | name            | path                                         |
  6. +----+-----------------+----------------------------------------------+
  7. |  1 | Най-яката фафла | ad66c2521d5125498bc1d0b5d3e79c03a67dc3bf.jpg |
  8. |  1 | Най-яката фафла | 1130a884110221f7ab7a5ca89a88c6e3956635ea.png |
  9. +----+-----------------+----------------------------------------------+
  10. 2 rows in set (0.00 sec)

Има много начини, ето още един:
Код: MySQL
  1. mysql> SELECT `fafla`.`id`, `fafla`.`name`, GROUP_CONCAT(`pictures`.`path`) FROM `fafla`
  2.     -> INNER JOIN `pictures`
  3.     -> ON `fafla`.`id` = `pictures`.`fafla_id`;
  4. +----+-----------------+-------------------------------------------------------------------------------------------+
  5. | id | name            | GROUP_CONCAT(`pictures`.`path`)                                                           |
  6. +----+-----------------+-------------------------------------------------------------------------------------------+
  7. |  1 | Най-яката фафла | ad66c2521d5125498bc1d0b5d3e79c03a67dc3bf.jpg,1130a884110221f7ab7a5ca89a88c6e3956635ea.png |
  8. +----+-----------------+-------------------------------------------------------------------------------------------+
  9. 1 row in set (0.00 sec)

Надявам се да си схванал идеята, чакам въпроси - защото има какво да се каже.

П.п. Разликите в синтаксисите на mysql и mysqli са минимални, трябват ти точно 10 минути за да обърнеш :)
« Последна редакция: 24 Октомври 2015, 22:17:24 от Avalanche »
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

aivanov

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 8
Re: Проблем с добавяне на още снимки в една колона
« Отговор #5 -: 26 Октомври 2015, 14:44:06 »
Нещо не се получава излиза. Така и немога да го накарам да качи снимка в picture таблицата.

$db->query="UPDATE  `shop`.`obuvka`
 SET `Big_images` = '$big_images_update' , `Small_images` = '$small_images_update' , `Posledna_Redakciq` = '$data' WHERE  `shop`.`obuvka`.`Zapis_ID` = $id;";

Това е старият начин, а следващият ред е новият:

$db->query="SELECT `obuvka`.`Zapis_ID`, `obuvka`.`Marka`, `picture`.`path` FROM `obuvka`
    INNER JOIN `picture` ON `obuvka`.`Zapis_ID` = `picture`.`fafla_id`;";

« Последна редакция: 26 Октомври 2015, 15:17:57 от aivanov »

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 269
  • Публикации: 2595
  • meow
Re: Проблем с добавяне на още снимки в една колона
« Отговор #6 -: 26 Октомври 2015, 20:53:33 »
Ами то по принцип има как да се добавя с UPDATE командата, но в момента не мога да ти кажа как беше точни синтаксис. Що не пробваш с INSERT, а когато трябва да се редактира снимка, не е ли по-добре просто да се качи нова (освен ако не става дума за някакъв текст или описание разбира се)?
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

aivanov

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 8
Re: Проблем с добавяне на още снимки в една колона
« Отговор #7 -: 27 Октомври 2015, 09:55:14 »
Моята идея е да се добавя снимка към другите снимки, защото има доста случай, в които искам да добавя още снимки към дадена статия, а старите също ми вършат работа и искам да си останат.

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 190
  • Публикации: 3623
Re: Проблем с добавяне на още снимки в една колона
« Отговор #8 -: 27 Октомври 2015, 12:17:21 »
Значи, ползвай INSERT INTO за качване на нова снимка. И аз, като Ави не виждам какъв е смисъла от UPDATE тук.  Ако снимката е вързана към определена статия, то ти трябва да ползваш JOIN при инсъртване на снимката запазвайки ID-то на статията като референция записана в нова колона.

Дай да видим изхода от:

Код: SQL
  1. DESC obuvka
  2.  
  3. // и
  4.  
  5. DESC picture
  6.  
   
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

aivanov

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 8
Re: Проблем с добавяне на още снимки в една колона
« Отговор #9 -: 27 Октомври 2015, 13:45:14 »
DESC obuvka

Цитат
Zapis_ID                              int(10)    NO   PRI   NULL  auto_increment
Kategoriq                       varchar(255)    NO       NULL   
Marka                                 varchar(255)    NO       NULL   
Model                                    varchar(255)    NO       NULL   
Cena                                           varchar(255)   YES       NULL       
Big_images                                         text   NO       NULL   
Small_images                                        text   NO       NULL   


DESC picture

Цитат
Zapis_ID                     int(11)   NO   PRI   NULL   auto_increment
fafla_id                     int(11)   NO   PRI   NULL   
path                      varchar(255)   NO       NULL   

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 190
  • Публикации: 3623
Re: Проблем с добавяне на още снимки в една колона
« Отговор #10 -: 28 Октомври 2015, 12:33:03 »
Категорията трябва да я изнесеш в отделна таблица вързвайки ID-то и с чужд ключ към обувките. По този начин всеки чифт обувки ще принадлежат към определена категория, а всяка една снимка или снимки ще са вързани към точно определен чифт обувки.   
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

aivanov

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 8
Re: Проблем с добавяне на още снимки в една колона
« Отговор #11 -: 02 Ноември 2015, 01:29:15 »
Омаза се цялата работа. Такава каша ми стана в главата, че направо незнам вече какво прехвърлям и какво правя и не става и не става.

../images/Small_images/b2ed61bd44a0eaf2593f6dbdda8aaf42145b8210.jpg../images/Small_images/b2ed61bd44a0eaf2593f6dbdda8aaf42145b8210.jpg../images/Small_images/aaf11c245d7082c173eb456f7ada2cef7b4371b3.jpg../images/Small_images/aaf11c245d7082c173eb456f7ada2cef7b4371b3.jpg../images/Small_images/8571f7b53296bb345a5394c1379efe109ca05587.jpg../images/Small_images/8ccf1f713b4463a832d60a3236d0e4f06c31fe8f.jpg../images/Small_images/aaf11c245d7082c173eb456f7ada2cef7b4371b3.jpg../images/Small_images/b2ed61bd44a0eaf2593f6dbdda8aaf42145b8210.jpg../images/Small_images/8ccf1f713b4463a832d60a3236d0e4f06c31fe8f.jpg|||||||||
Каквото и да се опитам да напрaвя винаги така си ги качва
« Последна редакция: 02 Ноември 2015, 01:30:59 от aivanov »

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 190
  • Публикации: 3623
Re: Проблем с добавяне на още снимки в една колона
« Отговор #12 -: 02 Ноември 2015, 13:45:41 »
Не бре момко, продължаваш упорито по грешният начин. Това са таблиците които ти трябват, направени по примерната скима (виж снимката по-долу) тази сутрин:
Цитат

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------
-- Schema test
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
USE `test` ;

-- -----------------------------------------------------
-- Table `test`.`categories`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `test`.`categories` (
  `cat_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `cat_name` VARCHAR(45) NULL,
  PRIMARY KEY (`cat_id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `test`.`shoes`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `test`.`shoes` (
  `shoes_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `cat_id` INT UNSIGNED NOT NULL,
  `brand` VARCHAR(45) NOT NULL,
  `model` VARCHAR(45) NOT NULL,
  `price` FLOAT NULL,
  PRIMARY KEY (`shoes_id`),
  INDEX `fk_shoes_1_idx` (`cat_id` ASC),
  CONSTRAINT `fk_shoes_1`
    FOREIGN KEY (`cat_id`)
    REFERENCES `test`.`categories` (`cat_id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `test`.`pictures`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `test`.`pictures` (
  `pic_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `pic_name` VARCHAR(45) NOT NULL,
  `pic_type` VARCHAR(45) NOT NULL,
  `shoes_id` INT UNSIGNED NOT NULL,
  PRIMARY KEY (`pic_id`),
  INDEX `fk_pictures_shoes1_idx` (`shoes_id` ASC),
  CONSTRAINT `fk_pictures_shoes1`
    FOREIGN KEY (`shoes_id`)
    REFERENCES `test`.`shoes` (`shoes_id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;



За съжаление нямам врмето да ти дам примери с код, но от базата данни се тръгва и до нея се стига. Тя е в основата на всичко!
« Последна редакция: 02 Ноември 2015, 13:49:08 от jazzman »
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 190
  • Публикации: 3623
Re: Проблем с добавяне на още снимки в една колона
« Отговор #13 -: 02 Ноември 2015, 14:44:44 »
Ето ти и примерен SQL:


Код: SQL
  1.  
  2. INSERT INTO categories (cat_id,cat_name) VALUES (NULL, 'athletic'),(NULL, 'dance'), (NULL, 'business'), (NULL, 'safety');
  3.  
  4. INSERT INTO shoes (shoes_id, cat_id, brand, model, price) VALUES (NULL, 1, 'adidas', 'samba', '45.99'), (NULL, 1, 'nike', 'skateboarding', '50.99'),(NULL, 2, 'rebook','ballet','25.99'),(NULL, 4, 'marks','construction','33.49');
  5.  
  6. INSERT INTO pictures (pic_id, pic_name, pic_type, shoes_id) VALUES (NULL,'name 1','jpeg', 1), (NULL, 'name 2', 'png', 2), (NULL, 'name 3', 'png', 1);
  7.  
  8.  

Направи си форма за вкарване на информацията и си ОК. За селектване на нещата пиши ако имащ проблем, ще гледам да помогна.
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html