- ベストアンサー
データベースからの画像とタイトルにURLがつかない
- データベースからの画像とタイトルにURLがつかない原因を考える
- RSSを取得して格納は成功しているが、画像の取得ができずURL付き画像とタイトルを出力できていない
- PDOのエラーハンドリングを行いデータベースへの接続が成功している
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
回答No.3への補足を見て、sitetitleとかsitelinkの内容を使ってうまい具合に表示してくれる出来合いのCSS定義があるのかと思っていました。そうではないのですね。 であれば、CSSのことを考えずにごく単純化すると下記のような内容を出力すればいいわけです。 <li><a href="リンク先URL"><img src="画像URL">タイトル: 日付</a></li> printf('<li><a href="%s"><img src="%s">%s: %s</a></li>', $link, $thumbnail, $title, $date);
その他の回答 (5)
- _kappe_
- ベストアンサー率68% (1581/2304)
rss_feedというclassの使い方をご自分で再確認してください。 こちらでは調べようがなく、これ以上の回答ができません。
- _kappe_
- ベストアンサー率68% (1581/2304)
rss_feed classの仕様が分からないので確証は持てませんが、sitelinkとsitedateの項目は<li>と</li>の間に何もなくていいのでしょうか。また、この場合<a>タグは要らないような気がします。 print '<ul class="rss_feed">'; printf('<li class="sitetitle">%s</li>', $title); printf('<li class="sitelink">%s</li>', $link); printf('<li class="sitedate">%s</li>', $date); printf('<li class="sitethumb">%s</li>', $thumbnail); print '</ul>'; 上記のようにしたらどうなりますか。 一つのprintfで出力しなければいけない理由はないので、読みやすいように分割しました。 $titleなど4つの変数には元の質問文にあったように適切な値を予め代入しておく必要があります。 最後に、ダミーの内容であるならいいですけれど、ユーザ名やパスワードが質問文中に書かれているのが気になりました。
補足
この場合<a>タグは要らないような気がします。 A.やはり必要なようです。タイトルにリンクが表示されず黒文字で表示されております。 ダミーの内容であるならいいですけれど、ユーザ名やパスワードが質問文中に書かれているのが気になりました。 A.サブのディレクトリでテストを行っておりますので、大丈夫です。 一つのprintfで出力しなければいけない理由はないので、読みやすいように分割しました。 $titleなど4つの変数には元の質問文にあったように適切な値を予め代入しておく必要があります。 A.ありがとうございます。変数は格納できており取得はできているのですが、アウターで囲ったつもりがリンクなしの状態で表示されております。
- _kappe_
- ベストアンサー率68% (1581/2304)
>コードは正しいでしょうか? グチャグチャですね。 まずは、PHPプログラムを使わずに、最終的に出力したいHTMLを書き出してみてください。
補足
htmlで書いてみました。 <ul class="rss_feed"> <li class="sitetitle"><a href="">title</a></li> <li class="sitelink"></li> <li class="sitedate"></li> <li class="sitethumb"><a href="">thumb</a></li> </ul> ※ほしいのはサムネイルとタイトルだけデータは表示はしないがソート順にするため?
- _kappe_
- ベストアンサー率68% (1581/2304)
>A.これがなかなか理解できないのですが、anchor要素で括るということでしょうか? 画像を表示させたい場合はHTML内に<img src="https://example.com/abc.png">のようなタグを書きますよね。 そのことを言っています。 もし画像ではなくてURLの文字列を表示したいだけなのであれば、<img>タグのことはひとまず忘れてください。
お礼
アンカーリンクについてどうしてもわからなかったのですが、<ul class=rss_feed>と画像とタイトルにリンクを付けたいです。コードは正しいでしょうか? if ($count === 1) print('<ul class=rss_feed>'); $date = date('Y-m-d H:i:s', strtotime($dc->date));//RSS日付け取得 printf('<li>%s class="(%s)">//リンク付きタイトル:%s//リンク <li>%s class="(%s)">//データ <li>%s class="(%s)">//リンク付き画像', '<li>$title class="sitetitle"</li><li>$link class="sitelink"</li><a href='.$title[url].'></a>'//リンク付きタイトル <li>$date class="sitedate"</li>//データ <li>$thumb class="sitethumb"</li><a href='.$thumb[url].'></a>'//リンク付き画像 );// $title, $link, $date,$thumb を表示 } if ($count) print('</ul>'); }
補足
画像を表示させたい場合はHTML内に<img src="https://example.com/abc.png">のようなタグを書きますよね。 そのことを言っています。 A.画像にリンクを付けたいのでその認識であっています。 コードを修正してみます。
- _kappe_
- ベストアンサー率68% (1581/2304)
printf('<li>%s:%s:%s</li>', $title, $link, $date,$thumb);の部分を見てください。 %sは3つあるのに対してその後の引数は4つあります。このため、$thumbはこのprintfで出力されません。 また、$thumbの内容が画像のURLであるなら、それを画像として表示したければ<img>タグの中にURLを埋め込むようにする必要があります。
補足
printf('<li>%s:%s:%s</li>', $title, $link, $date,$thumb);の部分を見てください。 %sは3つあるのに対してその後の引数は4つあります。このため、$thumbはこのprintfで出力されません。 A.ありがとうございます。理解できました。 また、$thumbの内容が画像のURLであるなら、それを画像として表示したければ<img>タグの中にURLを埋め込むようにする必要があります。 A.これがなかなか理解できないのですが、anchor要素で括るということでしょうか?
補足
rss_feedというclassの使い方をご自分で再確認してください。 こちらでは調べようがなく、これ以上の回答ができません。 A.理解不足で申し訳ありません。rss_feedというのは勝手につけたものであり。rss_feedという名前でデータベースを付けているのでcss classとして使いました。 これが原因でエラーが起こっているのでしょうか?li classも勝手になずけたのですが…